我正在使用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 :(得分:2)
$_FILES['image']['tmp_name']
是一个临时存储空间,仅适用于一个请求。只要它通常位于临时文件/tmp
的OS目录中,就无法从Web获得。您需要将文件移动到某个永久存储器,该存储器可从Web上获得。
答案 1 :(得分:1)
您正试图显示已保存在/tmp
中的图片。您应该将文件移动到网页根目录内的目录中。
答案 2 :(得分:0)
您需要将上传的文件移至图片文件夹,然后您可以使用此图片在浏览器中显示。
示例
move_uploaded_file($_FILES['image']['tmp_name'],'/public_html/images/'.$_FILES['image']['name']))
上面的代码会将您的文件上传到images目录,然后就可以使用这个图像了。
对于ajax文件上传请与我联系。