我有一个本地安装(PHP4/MySQL)设计的应用程序,它的工作原理非常完美。因为我把它移动到一个实时安装(PHP5/MySQL),我什么都没有,但问题!我修正了所有全局变量问题(导致我学习PDO,所以不是一件坏事!),而不用开启全局变量,所以我唯一的问题就是文件上传。我试过$ _file的isset测试,它看起来像变量从未设置?有任何想法吗?文件上传在PHP4上,但不是PHP5
这里是表单数据:
<form enctype="multipart/form-data" method="post" action="script_add_product.php" >
<input class="cp_forms_upload" type="file" name="full_image" />
<input class="cp_formsButton" type="submit" name="submit_button" value="Add Product" /></form>
这里是PHP:
$full_image_url = $_FILES["full_image"]["name"];
if ((($_FILES["full_image"]["type"] == "image/gif")
|| ($_FILES["full_image"]["type"] == "image/jpeg")
|| ($_FILES["full_image"]["type"] == "image/pjpeg")
|| ($_FILES["full_image"]["type"] == "image/png"))
&& ($_FILES["full_image"]["size"] < 400000))
{
if ($_FILES["full_image"]["error"] > 0)
{
echo "Return Code: " . $_FILES["full_image"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["full_image"]["name"] . "<br />";
echo "Type: " . $_FILES["full_image"]["type"] . "<br />";
echo "Size: " . ($_FILES["full_image"]["size"]/1024) . " Kb<br />";
echo "Temp file: " . $_FILES["full_image"]["tmp_name"] . "<br />";
if (file_exists("../Uploads/" . $_FILES["full_image"]["name"]))
{
echo $_FILES["full_image"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["full_image"]["tmp_name"],
"../Uploads/" . $_FILES["full_image"]["name"]);
echo "Stored in: " . "../Uploads/" . $_FILES["full_image"]["name"];
echo "<br /><br /><br />" . $full_image_url;
}
}
}
else
{
echo "Invalid file";
}
感谢乡亲:)
是什么$ _ POST输出的var_dump($ _ POST); – Bono 2012-07-28 19:55:10
你确定你想上传图片不大于upload_max_filesize值越大 – mrok 2012-07-28 20:01:35
mrok,我?已经测试了大小只有20kb的图片Upload_max_filesize是16M Bono,我怎么var_dump? – 2012-07-28 21:10:57