2012-05-12 20 views
1

私はいくつかのアドバイスとガイドラインが必要です。 リンクを使用して画像をフォルダにアップロードしようとしています。画像をアップロードできません。 私はこのコードを試しています。これは、エラーメッセージが表示されます。move_uploaded_file()のhrefを使用して画像ファイルをアップロードするPHP

[アップロードfunction.move-ファイル]:書き込み可能な接続

<?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> 

ことが可能ですがサポートされていないHTTPラッパー:ストリームをオープンに失敗しましたか?

答えて

2

、すなわち

move_uploaded_file($_FILES["file"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] ."/uploads/" . $_FILES["file"]["name"]); 
+0

多くの多くのおかげでJKとKostisそれが動作します。.. :) – Manoj

1

file_existsmove_uploaded_fileにURLを指定しています。代わりにハードドライブにファイルを提供してみてください。変更:

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

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

move_uploaded_fileに似たエラーが発生した元の場所それはだから。

0

いいえ、このようにはできません。

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

「http://localhost.myimage.com/uploads/」を所有していて、あなたのサーバーに「/ uploads /」の下にファイルを保存することはできません。

プロジェクトがインストールされている場合など。下の/ var/www /のmy_prj/

そして、あなたのアップロードがの/ var/www /のmy_prj /アップロード の下で、あなたのコードは次のようになりますとき「は/ var/www /の

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

にのみ適用されmy_prj/'はApacheの設定されたホストのDocumentRootです。移動したファイルの送信先は、サーバへの絶対パスにする必要がある

関連する問題