【发布时间】:2013-01-26 09:46:42
【问题描述】:
我看不到目标文件夹中上传的任何图像。我也试过 if (move_uploaded_file($HTTP_POST_FILES['memphoto']['tmp_name'], $target.$HTTP_POST_FILES['memphoto']['name'])) 而不是 if(copy($_FILES['photo'] ['tmp_name'], $uploadimages)) 但没有得到任何结果。谁能帮帮我。
<?php
if ((isset($_FILES['photo']) && ($_FILES['photo']['size'] > 0))
{
$typ = $_FILES['photo']['type'];
if($typ == "image/gif" || $typ == "image/png" || $typ == "image/jpeg" || $typ == "image/pgif" || $typ == "image/ppng" || $typ =="image/pjpeg" || $typ =="image/jpg")
{
$uploaddir = "images/";
$uploadimages = $uploaddir.basename($_FILES['photo']['name']);
if(copy($_FILES['photo']['tmp_name'], $uploadimages))
{
echo "File successfully copied";
$query = "UPDATE $tbl_name SET photo='$uploadimages WHERE ID='$ID' ";
if (!mysql_query($query))
{
die('Error: ' . mysql_error());
mysql_close();
}
}
else{echo "Copy unsuccessful";}
}
else{
echo "Incorrect file type";
}
}
else {
echo "No Photo/Signature file selected/uploaded.";
}
?>
【问题讨论】:
-
你检查你的错误日志了吗?
-
在对上传的文件进行任何操作之前,您真的应该check
$_FILES['photo']['error']。并且强烈建议使用move_uploaded_file()而不是copy()。 -
你的目标目录是可写的吗?
-
您的脚本似乎容易受到 SQL 注入和任意文件上传(包括 PHP 文件)的攻击。
标签: php