0

ファイルをアップロードして、ディレクトリのアップロード フォルダーに保存します。私はそのコードを使用してそれを行いました..しかし、それは機能しません..ここにエラーがあります..

「警告: move_uploaded_file(uploads/1341221475::1aaaa.text): ストリームを開くことができませんでした: 行 24 の /var/www/html/PHP/upload_file.php で許可が拒否されました 警告: move_uploaded_file(): 移動できません '/tmp /phpSZhm3c' を 'uploads/1341221475::1aaaa.text' の /var/www/html/PHP/upload_file.php の 24 行目に格納: aaaa/aaaa.text"

助けてください

コード:

            if($_FILES["file"]["error"] > 0)
            {
                echo "ERROR ".$_FILES["file"]["error"]."<br>";
            }
            else
            {
                echo "NAME : ".$_FILES["file"]["name"]."<br>";
                echo "TYPE : ".$_FILES["file"]["type"]."<br>";
                echo "SIZE : ".($_FILES["file"]["size"]/1024)."KB<br>";
                echo "Stored in : ".$_FILES["file"]["tmp_name"]."<br>";
                if (file_exists("aaaa/" . $_FILES["file"]["name"]))
                      {
                    echo $_FILES["file"]["name"] . " already exists. ";
                      }
                else
                      {
                $target_path = "uploads/";
                    $target_path = $target_path . time() . $_SERVER['REMOTE_ADDR'] . basename( $_FILES['file']['name']);
                      move_uploaded_file($_FILES["file"]["tmp_name"],$target_path);
                      echo "Stored in: " . "aaaa/" . $_FILES["file"]["name"];
                      }
            }
4

4 に答える 4

0

たとえば、出力ディレクトリの所有者としてApacheにアクセス許可を与えると、ファイルを作成できるようになります。

于 2012-07-02T10:10:48.473 に答える
0

ファイルをそこに移動できるように、アップロードフォルダに完全な権限があることを確認してください。

chmod 777 -Rアップロードディレクトリに移動してみてください。例えば:

 $ sudo chmod 777 -R /var/www/html/PHP/uploads/
于 2012-07-02T10:22:54.473 に答える
0

コードを使用してファイルを作成する場合は常に、コードを実行しているユーザーに権限が必要です。この場合、Apache Webサーバーを起動した人は誰でも、そのフォルダーに書き込む権限を持っている必要があります。chmodコマンドを使用して権限を指定します。

セキュリティについてあまり気にしない場合は、このようにアップロードフォルダに777を指定するだけです。アップロードフォルダが/var/ www / html / site / uploadsにあると仮定して、実行します

chmod -R 777 /var/www/html/site/uploads

HTH

于 2012-07-02T10:20:09.063 に答える
0

Web サーバーが特定のユーザー (「www」など) の下で実行されています。ユーザーがアップロード フォルダーへの書き込みアクセス権を持っていることを確認します。

于 2012-07-02T09:38:07.693 に答える