当我试图将图像上传到照片文件夹时,我有这种警告信息我不知道该怎么做.. 这是我的php文件
if (!isset($_FILES['image']['tmp_name'])) {
echo "";
}else{
$file=$_FILES['image']['tmp_name'];
$image= mysql_real_escape_string(addslashes(file_get_contents($_FILES['image']['tmp_name'])));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
$location="photos/" . $_FILES["image"]["name"];
$save=mysql_query("insert into add values('$location')") or die("can not insert");
exit();
}
这是我的HTML代码
<form method="POST" action='ap.php' enctype="multipart/form-data">
<input name="image" id="image" type="file" />
<input type='submit' name='Add' value='Add' />
</form>
答案 0 :(得分:1)
不需要以下几行:
$image= mysql_real_escape_string(addslashes(file_get_contents($_FILES['image']['tmp_name'])));
$image_name= addslashes($_FILES['image']['name']);
刚删除它并测试它会起作用。你正在检查第一个if条件是否足够。
答案 1 :(得分:1)
你不需要逃避事情。只是喜欢,
if (!isset($_FILES['image']['tmp_name'])) {
echo "Image not selected ";
}
else
{
$file=$_FILES['image']['tmp_name']; // temporary name
$image_name= $_FILES['image']['name']; // original file name
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
$location="photos/" . $_FILES["image"]["name"];
$query = "Write your query here...";
$save=mysqli_query($connection, $query);
if($save)
{
// success...do whatever you want
}
else
{
// executes when save fails
}
}
警告:
mysql_
已弃用。迁移到mysqli_
或PDO
。您的代码容易受到SQL注入攻击。
答案 2 :(得分:1)
您的代码工作正常,请检查照片&#39;必须是可写的。您也可以删除以下行,因为它没有效果。
$image= mysql_real_escape_string(addslashes(file_get_contents($_FILES['image']['tmp_name'])));
请粘贴完整代码,也可能是您的连接字符串或其他代码存在问题。
答案 3 :(得分:0)
无需转义文件name
&amp; tmp_name
。只需做 -
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
$location="photos/" . $_FILES["image"]["name"];
$save=mysql_query("insert into add values('$location')") or die("can not insert");
exit();
答案 4 :(得分:0)
删除这两行后。它工作正常
$image= mysql_real_escape_string(addslashes(file_get_contents($_FILES['image']['tmp_name'])));
$image_name= addslashes($_FILES['image']['name']);