PHP文件上传奇怪的问题

时间:2011-11-04 12:04:01

标签: php file-upload

在实时服务器上传图像文件时,我遇到了一个奇怪的问题,move_uploaded_files()函数返回true但图像没有上传。

if(move_uploaded_file($_FILES["img"]["tmp_name"],'./shot_images/'.$_FILES["img"]["name"])){
  echo "Success";
}

此处执行时,打印“成功”,但文件未在指定位置上传。

感谢任何形式的帮助。

1 个答案:

答案 0 :(得分:1)

如果move_uploaded_file返回true,那么表示文件 已成功移动。我们来试试吧。使用以下代码时会发生什么:

$dest = "./shot_images/{$_FILES["img"]["name"]}";
if(move_uploaded_file($_FILES["img"]["tmp_name"],$dest)){
  $realpath = realpath($dest);
  $filesize = filesize($realpath);
  echo "Success! Uploaded a $filesize file to $realpath";
}

我怀疑它正在发挥作用,它只是没有达到你期望的地方......

如果是这种情况,可能是因为'./shot_images/' - 我个人很少(如果有的话)使用相关路径。如果我引用脚本的路径,我发现它可以消除混淆:

$dest = dirname(__FILE__)."/shot_images/{$_FILES["img"]["name"]}";
if(move_uploaded_file($_FILES["img"]["tmp_name"],$dest)){