2012-06-15 3 views
1

플래시를 통해 웹캠으로 사진을 찍고 나중에 조작하기 위해 서버에 데이터를 게시하고 있습니다.php : // input에서 디렉토리에 대한 쓰기 권한을 설정하는 방법은 무엇입니까?

공유 호스팅에서 아마존의 EC2 인스턴스 (서버)로 전환했습니다.

는이 오류를 얻을 :

Warning: file_put_contents(uploads/20120615104908.jpg): failed to open stream: Permission denied in /var/www/html/addons/webcam/capture.php on line 4 ERROR: Failed to write data to 20120615104908.jpg, check permissions

이 실패 있어요 코드입니다. 내가 업로드 한 chmod를/0777로 변경하면 작동하지만 안전하지 않을까 걱정됩니다.

$filename = date('YmdHis') . '.jpg'; 
$imageData = file_get_contents('php://input'); 
$result = file_put_contents('uploads/' . $filename, $imageData); 

if (!$result) { 
    print "ERROR: Failed to write data to $filename, check permissions\n"; 
    exit(); 
} 

$url = $filename; 
$_SESSION['imageName'] = $filename; 
print "$url\n"; 
+0

이것 좀보세요 : http://stackoverflow.com/questions/678388/write-to-directory-using-php-is-this-a-permissions-problem – gcochard

+0

Ty greg 나는 그 형태를 가지고 있습니다. 나를 위해 일해! –

답변

1

네, 정말 안전하지 않은 :

이 (D를 내가 최근에 있기 때문에이 코드를 다시 방문이 버그의 시간을 가지고 가난 writtenness 사과, 내가 더 잘 형성 할 약속). uploads/의 소유자를 확인해야합니다. PHP 스크립트 (wwwdata 또는 apache 또는 이와 비슷한 것)를 실행하는 사용자와 동일한 사용자 여야합니다.

$ ls -ld upload 
$ # oh shi... 
$ chown wwwdata upload 
$ chmod 640 upload 

그게 전부입니다!

관련 문제