move_uploaded_file():无法移动'/tmp/phpiS3dQA'& # 39; / v


move_uploaded_file(): Unable to move '/tmp/phpiS3dQA' to '/var/www/html/mysite/uploads/PNGWallpaper.png

我使用的是Fedora 16, PHP5。x和Apach2.x

$target_path = "/var/www/html/mysite/uploads/";
$target_path = $target_path . basename( $_FILES['photo_video']['name']); 
if(move_uploaded_file($_FILES['photo_video']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['photo_video']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}

当我尝试上传时,我总是得到消息:

警告:move_uploaded_file(/var/www/html/mysite/uploads/PNGWallpaper.png): failed to open stream: Permission denied in/var/www/html/mysite/modules/content/cj_c.php on line 44 Call Stack: 0.0002 132524{main}()/var/www/html/mysite/index.php:0 0.0016 153684Include_once ('/var/www/html/mysite/modules/content/cj_c.php')/var/www/html/mysite/index.php:36 0.0022 160500move_uploaded_file()/var/www/html/mysite/modules/content/cj_c.php:44警告:move_uploaded_file():无法移动'/tmp/phpiS3dQA'到'/var/www/html/mysite/uploads/PNGWallpaper.png'在/var/www/html/mysite/modules/content/cj_c.php第44行{main}()/var/www/html/mysite/index.php:0 0.0016 153684Include_once ('/var/www/html/mysite/modules/content/cj_c.php')/var/www/html/mysite/index.php:36 0.0022 160500move_uploaded_file()/var/www/html/mysite/modules/content/cj_c.php:44上传文件出错,请重试!

文件或文件夹权限:

drwxrwxrwx. 465 root root 36864 Apr  6 23:20 tmp
drwxrwxrwx. 2 knel knel 4096 Apr  6 22:47 uploads

. ini

file_uploads = On
max_file_uploads = 20

检查哪个用户PHP作为

运行
php> echo exec('whoami');
knel

谁能给我建议一个解决办法?

权限被拒绝意味着PHP运行的用户没有对目标路径(/var/www/html/mysite/uploads/)中的一个目录的写权限

您可以使用此工具检查到目标目录的完整路径的权限

我也有同样的问题。

我的解决方案:确保目标文件夹有"x"权限(700),而不仅仅是写权限