在mysql更新上更改文件

时间:2012-05-16 21:54:48

标签: php mysql

很抱歉,如果标题听起来有点模糊。

Stackoverflow在这里发布新手。

我正在制作一本地址簿并且遇到了一些问题。

我希望能够更新记录,如果在更新表单中没有设置图像,则保留记录中已记录的图像。如果填充了图像字段,则使用该图像更新记录并将其移动到目标位置。

这是我对它的if语句:

if (empty($photo))
{
$photo = $row['photo'];
}
else
{           
$phmsg = "Photo $photo has been deleted and replaced";
unlink("".IMAGES."/$photo");
$afn = date('dmYHis');
$name_of_file = $_FILES['photo']['name'];
$photo=$afn.$name_of_file;
$target = "".FILE_UPLOAD."/"; 
$target = $target . basename($photo);
}

这是我尝试运行上传时遇到的错误:

  

警告:move_uploaded_file()[function.move-uploaded-file]:第165行的C:\ xampp \ htdocs \ cab \ update.php中的文件名不能为空

     

警告:move_uploaded_file()[function.move-uploaded-file]:无法在C:\ xampp \ htdocs \ cab \ update.php中将'C:\ xampp \ tmp \ phpB232.tmp'移动到''第165行

     

文件未上传。请尝试手动上传。

我能看到的另一种方法就是有一个单独的文件来更新而不是更新图片。

非常欢迎任何帮助,非常感谢。

提前致谢

2 个答案:

答案 0 :(得分:1)

您尝试在没有有效文件的情况下使用move_uploaded_file()作为参数。

检查您是否上传了有效文件,然后才执行move_uploaded_file()

答案 1 :(得分:0)

请尝试此代码

if (empty($photo))
{
$photo = $row['photo'];
}
else
{           
$phmsg = "Photo $photo has been deleted and replaced";
unlink("".IMAGES."//$photo");
$afn = date('dmYHis');
$name_of_file = $_FILES['photo']['name'];
$photo=$afn.$name_of_file;
$target = "".FILE_UPLOAD."//"; 
$target = $target . basename($photo);
}