簡體   English   中英

用於上傳文件的perl / cgi腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM