<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 30000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Looks Great!";
if (file_exists("localhost/upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"localhost/upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "localhost/upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Something went wrong.";
}
?>
这是我用来将图像文件(jpg)上传到名为upload的文件夹的upload.php。我在其他地方有一个表格,当我选择文件并点击上传....它将我重定向到upload.php,我总是得到一个像“出事不错”的消息。我甚至尝试过png文件.. 你能帮忙吗?
答案 0 :(得分:1)
您的代码与W3Schools(http://www.w3schools.com/php/php_file_upload.asp)几乎相同,所以我想回到该网站并再次获取代码。此外,如果您使用PNG罚款,它将永远不会通过您的初始验证,因为它没有在您的初始if..else语句中表示。
我在这里要做的是逐步完成代码和调试:
$_FILES
对象?尝试在print_r
上$_FILES
进行确认跟踪问题,祝你好运。
答案 1 :(得分:0)
我的赌注是缺少enctype =“multipart / form-data”属性的表单。
一个小样式提示,你可以替换
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 30000))
通过
if(in_array($_FILES["file"]["type"],
array("image/gif",
"image/jpg",
"image/pjpeg")) &&
$_FILES["file"]["size"] < 30000)