2011-11-08 8 views
0


내 스크립트는 아래 move_uploaded_file() PHP 함수에서 문제가 있습니다.
말하기 권한이 거부되었습니다. 디렉토리에 쓸 수 없습니다. 하지만 사용 권한을 확인하고 해당 읽기/쓰기 실행을 확인했습니다. 문제가 무엇인지 확실하지 않습니다. 권한이 R-W-X인지 어떻게 확인합니까? ?php - move_uploaded_file 함수의 문제

<?php 
error_reporting(E_ALL); ini_set('display_errors', 1); 
$target = "BharatTest/"; 
$photoName = basename($_FILES['image']['name']); 
$target = $target . basename($_FILES['image']['name']) ; 

ini_set('display_errors', 1); 
echo '<pre>Debug: tmp file:', htmlspecialchars($_FILES['image']['tmp_name']), "</pre>\n"; 
echo '<pre>Debug: target directory: ', htmlspecialchars("BharatTest/"), "</pre>\n"; 
echo '<pre>Debug: real target: ', htmlspecialchars(realpath("BharatTest/")), "</pre>\n"; 
echo '<pre>Debug: source readable: ', is_readable($_FILES['image']['tmp_name']), "   
</pre>\n"; 
echo '<pre>Debug: target is_dir: ', is_dir("BharatTest/") ? 'yes':'no', "</pre>\n"; 
echo '<pre>Debug: target writable: ', is_writeable("BharatTest/") ? 'yes':'no', "  
</pre>\n"; 

if(move_uploaded_file($_FILES['image']['tmp_name'], $target)) 
{ 
    echo "YES"; 
} 
else 
{ 
    echo "NO"; 
} 
?> 

답변

0

웹 서버 사용자에게 쓰기 권한이 있는지 확인해야합니다. 설정에 따라 폴더에 775 또는 심지어 777 권한이 필요합니다.

+0

위의 의견을 확인해주십시오. –

0

디렉토리가 사용자에게 쓰기 권한이 있다고해서 (로그인 할 때), PHP/Apache/당신이 가지고있는 웹 서버에 쓸 수 있다는 것을 의미하지는 않습니다. 서버 구성에 따라 PHP는 완전히 다른 권한 집합으로 실행됩니다. 웹 서버에 대한 권한을 조회하거나 디렉토리를 777로 설정 한 다음 백 오프하여 디렉토리에 대한 올바른 권한을 결정할 수 있습니다.

+0

FTP 클라이언트로 FileZill을 사용하고 있습니다. filezilla에서 사용 권한을 확인하고 내 PHP 스크립트 파일과 디렉토리에 대해 777 (모든 그룹에 대해 READ-WRITE-EXECUTE)을 표시합니다. 그러나 스크립트를 실행하면 액세스가 거부되었다고합니다. 디렉토리 쓰기 불가 ... –