4

Fedora 16、PHP5.x、および Apache2.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): ストリームを開くことができませんでした: 行 44 の /var/www/html/mysite/modules/content/cj_c.php で許可が拒否されました コール スタック: 0.0002 132524 1. {main}() /var/www/html/mysite/index.php:0 0.0016 153684 2. include_once('/var/www/html/mysite/modules/content/cj_c.php') /var /www/html/mysite/index.php:36 0.0022 160500 3. move_uploaded_file() /var/www/html/mysite/modules/content/cj_c.php:44 警告: move_uploaded_file(): '/tmp/ を移動できません44 行目の /var/www/html/mysite/modules/content/cj_c.php の '/var/www/html/mysite/uploads/PNGWallpaper.png' への phpiS3dQA' コール スタック: 0.0002 132524 1. {main}( ) /var/www/html/mysite/index.php:0 0.0016 153684 2. include_once('/var/www/html/mysite/modules/content/cj_c.php') /var/www/html/mysite/index .php:36 0.0022 160500 3.move_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

php.ini

file_uploads = On
max_file_uploads = 20

phpが実行されているユーザーを確認します

php> echo exec('whoami');
knel

誰が私に解決策を提案できますか?

4

2 に答える 2

3

許可が拒否されたということは、PHP を実行しているユーザーが、宛先パス (/var/www/html/mysite/uploads/) 内のいずれかのディレクトリーへの書き込み許可を持っていないことを意味します。

このツールを使用して、ターゲット ディレクトリまでのフル パスのアクセス許可を確認できます。

于 2013-04-07T09:44:18.807 に答える