문제

Flash를 사용하여 이미지를로드하고 이미지를 크기를 조정하고 이미지 데이터의 바이트를 다음 코드를 사용하여 크기가 크기가 파일을 출력하는 PHP 파일로 보내는 이미지 업로드 애플리케이션을 개발했습니다.

$default_path = '/uploads/temp/';
$filename = $_GET["filename"];
$destination = $default_path . $filename;
if(file_put_contents($destination, $GLOBALS["HTTP_RAW_POST_DATA"])) {
echo "The file " . basename( $_FILES[ 'Filedata' ][ 'name' ] ) . " has been uploaded;";
} else {
   echo "FILE UPLOAD FAILED";
}

이것은 전용 Windows 2003 웹 서버에서 실행할 때 훌륭하게 작동했지만 이제는 EC2 인스턴스 에서이 작업을 실행하려고 했으므로 작동이 중지되었으며 "파일 업로드 실패"메시지 만 얻습니다. Firefox의 Firebug 애드온에서 BytearRay 데이터가 EC2 인스턴스에 게시되고 있지만 문제가 발생할 다른 것을 볼 수 없다고 말할 수 있습니다.

EC2에서는 PHP와 Apache가 설치된 CentOS 이미지를 실행하고 있습니다. 여기서 찾아야 할 문제가 무엇인지 알려주세요. 아이디어가 있습니까?

오류 로그를 확인하고 다음 오류 메시지를받습니다.

file_put_contents(/uploads/temp/abcdefg.JPG) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: No such file or directory

이것은 PointInt와 잘못된 디렉토리와 관련이 있습니까? 아니면 누군가가 아래에 언급 한 것처럼 권한? PHP 가이 디렉토리에 쓸 수있는 권한을 부여하려면 어떻게해야합니까? 절대 경로를 사용하여 이미지를 작성하려는 디렉토리를 참조해야합니까?

건배

도움이 되었습니까?

해결책

권한 문제가 될 수 있습니다. PHP 사용자는 지정된 디렉토리에 쓸 권한이 없을 수 있습니다.

Apache 오류 로그에 메시지가 있습니까?

다른 팁

당신이 다른 수업에서 기꺼이 일할 의향이 있는지 모르겠지만, 몇 가지 PHP EC2 클래스가 있습니다. http://sourceforge.net/projects/php-ec2/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top