1

アドバイスとガイドラインが必要です。リンクを使用して画像をフォルダにアップロードしようとしています。また、画像をアップロードできません。私はこのコードを試しています。これはエラーメッセージを示しています:

[function.move-uploaded-file]:ストリームを開くことができませんでした:HTTPラッパーは書き込み可能な接続をサポートしていません

<?php

  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {

    if (file_exists("http://localhost.myimage.com/uploads/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "http://localhost.myimage.com/uploads/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }

?>
<html>
<body>

<form action="" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

出来ますか ?

4

3 に答える 3

2

移動されたファイルの宛先は、サーバーへの絶対パスである必要があります。

move_uploaded_file( $_FILES["file"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] ."/uploads/" . $_FILES["file"]["name"]);
于 2012-05-12T17:08:16.773 に答える
1

あなたはURLを提供file_existsmove_uploaded_fileています。代わりに、ハードドライブにファイルを提供してみてください。変化する:

file_exists("http://localhost.myimage.com/uploads/" . $_FILES["file"]["name"])

file_exists($_SERVER['DOCUMENT_ROOT'] . "uploads/" . $_FILES["file"]["name"])

エラーmove_uploaded_fileが発生したのはそこからです。

于 2012-05-12T17:05:40.857 に答える
0

いいえ、この方法では不可能です。

アップロードしたファイルを間違った保存先に保存しようとしました。

あなたが「http://localhost.myimage.com/uploads/」を所有していて、サーバーの「/uploads/」の下にファイルを保存したくないと思います。

プロジェクトがインストールされている場合(例:/ var / www / my_prj /)

そして、アップロードは/ var / www / my_prj / uploadsの下にあり、コードは次のようになります。

move_uploaded_file($_FILES["file"]["tmp_name"],
      "/uploads/" . $_FILES["file"]["name"]);

これは、「/ var / www /my_prj/」がapacheで構成されたホストのDocumentRootである場合にのみ適用されます。

于 2012-05-12T17:07:31.137 に答える