if (is_uploaded_file($_FILES[image][name]))
{
$row_PID = $_REQUEST['PID'];
$sql = "SELECT * FROM tbl_image where PID='".$str_PID."'";
$row = mysql_query($sql, $conn);
while($getPID=mysql_fetch_array($row))
{
$PID = $getPID['PID'];
$sqldelete ="delete from tbl_image where PID ='".$PID."'";
tep_db_query($sqldelete,$conn);
}
while(list($key,$value) = each($_FILES[image][name]))
{
if(!empty($value))
{
$filename = $value; // filename stores the value
$add = "../upload/portfolio/$filename"; // upload directory path is set
copy($_FILES[image][tmp_name][$key], $add);
chmod("$add",0777);
}
$query="insert into tbl_image (ImageID,PID,ImagePath,DateCreated,LastUpdate) values ('','$str_PID','$filename',now(),now())";
tep_db_query($query, $conn);
}
}
我没有访问if (is_uploaded_file($_FILES[image][name]))
这个条件
答案 0 :(得分:0)
if (is_uploaded_file($_FILES[image][name]))
不起作用,因为$_FILES['image']['name']
不包含磁盘上文件的路径。这在the PHP manual:
为了正常工作,函数is_uploaded_file()需要一个参数 例如
$_FILES['userfile']['tmp_name']
, - 上传文件的名称 在客户端的计算机上$_FILES['userfile']['name']
不起作用。
那并且您没有引用数组键,因此它们将被评估为PHP常量而不是字符串。你应该使用:
if (is_uploaded_file($_FILES['image']['tmp_name']))
注意每个数组键和修正变量周围的撇号(单引号)。