2012-01-09 29 views
0

私はファイルをアップロードするためにPHPを使用しています。アップロードは成功したようです。 $ _FILES配列は次のとおりです。アップロードした画像が表示されないのはなぜですか?

Array ([image] => Array ([name] => mount.jpg [type] => image/jpeg [tmp_name] => /tmp/php61qYZj [error] => 0 [size] => 28947)) 

すべてが順序であるように思われます。しかし、私がするとき

echo '<img src="' . $_FILES['image']['tmp_name'] . '" />'; 

それは私に壊れたイメージを与えます。

これは基本的なことですが、どのように失敗する可能性がありますか?

+0

ちょうどあなたのurlポイントにビューHTML'ブラウザの機能 'に確認してください(といつもあなたがここに質問をする前にそれを行う) – zerkms

答えて

2

$_FILES['image']['tmp_name']は一時的な記憶であり、唯一つの要求のために働きます。一時ファイルのOSディレクトリに通常ある限り、Webからは入手できません/tmp。あなたはWebから利用可能ないくつかの永久的なストレージにファイルを移動する必要があります。

+0

私は、トップレベルの/ tmpだった実現しませんでした。それは間違いなく利用できません。 – burger

1

あなたは/tmpに保存された画像を表示しようとしています。ファイルをWebページのルート内のディレクトリに移動する必要があります。

も参照してください:Tutorial on PHP-based file uploading

0

をあなたの画像フォルダにアップロードされたファイルを移動した後、ブラウザで表示するには、この画像を使用することができます必要があります。

move_uploaded_file($_FILES['image']['tmp_name'],'/public_html/images/'.$_FILES['image']['name'])) 

上記のコードは、あなたがこの画像を使用することができimagesディレクトリにファイルをアップロードします。

ajaxファイルのアップロードについては、私にご連絡ください。

関連する問題