我試圖用這個非常簡單的腳本上傳文件到我的服務器。由於某種原因,它不起作用。我在Apache的錯誤日誌中得到以下信息:perl文件上傳不能初始化文件句柄
Use of uninitialized value in <HANDLE> at /opt/www/demo1/upload/image_upload_2.pl line 15.
readline() on unopened filehandle at /opt/www/demo1/upload/image_upload_2.pl line 15.
#!/usr/bin/perl -w
use CGI;
$upload_dir = "/opt/www/demo1/upload/data";
$query = new CGI;
$filename = $query->param("photo");
$filename =~ s/.*[\/\\](.*)/$1/;
$upload_filehandle = $query->upload("photo");
open UPLOADFILE, ">$upload_dir/$filename";
binmode UPLOADFILE;
while (<$upload_filehandle>)
{
print UPLOADFILE;
}
close UPLOADFILE;
1
任何想法是錯誤的呢? 謝謝 mx
該文件是否真的存在?您的腳本是否具有訪問它的正確權限? – mcandre 2010-07-07 16:28:39
什麼權限是neccesary?它有777 - 如果我打印出它正在工作的東西。我想要編寫的文件也是777,但它崩潰了,它不會從CGI對象獲取句柄。 在調用腳本的窗體中,我有以下輸入字段: 這是正確的,不是它? – marcusx 2010-07-07 16:36:23
「form」標記的'enctype'是什麼? – 2010-07-07 16:40:55