0


以下の move_uploaded_file() php 関数の問題に直面しています。これは私のスクリプトです。
その言って許可が拒否されました。ディレクトリは書き込み可能ではありません。しかし、私はパーミッション、その読み書き実行を確認しました。何が問題なのかわからない、権限が RWX であることを確認するにはどうすればよいですか。?

<?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";
}
?> 
4

2 に答える 2

0

Web サーバー ユーザーに書き込み権限があることを確認する必要があります。セットアップによっては、これには多くの場合、フォルダーに対する 775 または 777 のアクセス許可が必要です。

于 2011-11-08T13:14:49.907 に答える
0

ディレクトリが(ログイン時に)書き込み可能であるからといって、PHP / Apache /お使いのWebサーバーに書き込み可能であるとは限りません. サーバーの構成によっては、PHP がまったく異なる権限セットで実行される可能性があります。Web サーバーのアクセス許可を検索するか、ディレクトリを 777 に設定してからそこからバックオフして、ディレクトリの正しいアクセス許可を決定することができます。

于 2011-11-08T13:16:02.310 に答える