在实时服务器上传图像文件时,我遇到了一个奇怪的问题,move_uploaded_files()
函数返回true但图像没有上传。
if(move_uploaded_file($_FILES["img"]["tmp_name"],'./shot_images/'.$_FILES["img"]["name"])){
echo "Success";
}
此处执行时,打印“成功”,但文件未在指定位置上传。
感谢任何形式的帮助。
答案 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)){