파일을 내 서버에 업로드하는 데이 매우 간단한 스크립트를 사용하려고했습니다. 어떤 이유로 그것은 작동하지 않습니다. 내 아파치 오류 로그에 다음과 같은 메시지가 : 거기에 어떤 문제가 있는지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
필요한 사용 권한은 무엇입니까? 그것은 777을 가지고 있습니다 - 그리고 만약 내가 프린트 아웃이라면 뭔가 효과가 있습니다. 작성하고자하는 파일도 777이지만 충돌이 심하며 CGI 객체에서 핸들을 얻지 못합니다. 스크립트를 호출하는 양식에서 다음 입력 필드가 있습니다. 그것? – marcusx
'form' 태그를위한'enctype'은 무엇입니까? –