[英]A perl/cgi script for uploading files
我試過運行這個腳本: http : //www.seaglass.com/file-upload-pl.html 。 在Apache中。 由於我正在運行win7 x64,我修改了腳本,所以它是: #! C:\\Perl64\\bin\\perl.exe -wT
#! C:\\Perl64\\bin\\perl.exe -wT
而不僅僅是#! /usr/bin/perl
#! /usr/bin/perl
頁面運行順利,但任何上傳嘗試都失敗, Can't open /tmp/outfile for writing - No such file or directory
錯誤。 我創建了一個/tmp/outfile
目錄和一個/tmp/outfile.txt
文件。 我是Perl的新手,因此不知道會出現什么問題。 請指教。
/ tmp / outfile是輸出文件名,而不是目錄名。 創建C:\\ tmp,但如果您確實創建了該目錄,則刪除C:\\ tmp \\ outfile。
Unix路徑組件使用正斜杠分隔,而不是反斜杠,在路徑中無法明確看到驅動器。 Perl可以在Windows上處理/
作為路徑分隔符,將C:
視為文件系統根目錄。 (謝謝,jimtut!)因此Unix path /tmp/outfile
C:\\tmp\\outfile
在Windows上轉換為C:\\tmp\\outfile
。 它是(可能不存在的)文件的路徑,其中應存儲上載的內容。
如果您想確定代碼的可移植性,請使用File :: Spec模塊構建路徑。 它允許避免顯式寫入路徑分隔符( /
在Unix上,在Windows上為\\
)。
使用Windows風格的路徑時,請記住在將其寫入雙引號字符串時將\\
加倍。 ( "C:\\\\tmp\\\\outfile"
)轉義問題與shell,PHP和許多其他語言相同......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.