我得到了这个上传脚本,但是当我想运行它时,页面返回空白。有问题,但我无法弄清楚错误在哪里以及如何解决。如果有人帮助我使这个脚本工作,我将不胜感激! 非常感谢!
<?php
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
include 'db.php';
mysql_query("INSERT INTO `members`(img) VALUES ('$_FILES["file"]["name"]')");
include 'succes.php';
}
}
}
else
{
echo "Invalid file";
}
?>
这行有错误
mysql_query("INSERT INTO `members`(img) VALUES ('$_FILES["file"]["name"]')");
将该行更改为
mysql_query("INSERT INTO `members`(img) VALUES ('{$_FILES["file"]["name"]}')");
更新:
错误是 解析错误:语法错误,意外的 '"',第 30 行需要 T_STRING 或 T_VARIABLE 或 T_NUM_STRING
注意:不要使用 mysql_*
函数,它们很快就会被弃用。而是使用 PDO 或 mysqli 函数。在将数据插入数据库之前,始终验证数据并提防 SQL 注入(inject)。
我是一名优秀的程序员,十分优秀!