我正在尝试上传图片并立即将它们传输到特定文件夹。
这是我的代码:
$file_path = "assets/placervw_photo/";
$file_path = $file_path . $_FILES['uploaded_file']['name'];
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path))
{
echo "success";
}
页面显示“成功”,但是当我检查文件夹时,它包含具有相同文件名和文件类型的文件,但它变成带有白色背景的小红色X图标。以下是:http://s14.postimg.org/ifoiyzde5/red_x.png
我已将它测试为jpg和png文件,它们也有相同的结果。
有关如何解决此问题的任何建议?提前致谢! :)
答案 0 :(得分:1)
“小红X”是您的浏览器说“这里没有图像”。
您是否尝试在上传的图片中显示图片?你不能。你已经发送了一些不是图像的内容,所以试图向浏览器发出信号“我这里有一张图片”会给你一个小小的红色X.
您需要发送带有正确网址前缀的IMG网址:
$url = "http://yourserver.com/path/to/".$file_path;
echo "Success, here's your image: <img src=\"$url\" />";
你也可能不信任用户的文件名,但是分配你选择的随机ID,并验证它 确实是一个图像(你可以使用{{1还要验证扩展名是否与MIME类型匹配)。以防万一有人给你发送一张名为“../../../pwn3d.php”的图片:它已经发生了。