我试图用这个非常简单的脚本上传文件到我的服务器。由于某种原因,它不起作用。我在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