本文主要是介绍【PHP】move_uploaded_file false 解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
move_uploaded_file false 原因
要做一个移动替换图片的功能,使用了move_uploaded_file函数,但是每次都失败,
使用var_dump()打印结果是 bool(false), 没有发现更多错误信息,
于是尝试了以下方式,
一、把旧图片的相对地址改成绝对地址,失败
二、把反斜杠\改成反斜杠/,失败
三、把所有的验证注释掉,移动失败
到php.net查看手册,发现了原因
如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 FALSE。
如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 FALSE。此外还会发出一条警告。
我使用move_uploaded_file函数时,仅做了转移,并未做上传,所以不符合上面的规则 “filename 不是合法的上传文件”
那怎么办呢?
最终解决方法:
使用copy(源文件路径,目标路径)函数,如果要删除原文件,使用unlink()函数
$oldImg="userfile/a/2.png";
$newImg="userfile/b/2.png";
if (copy($newImg, $oldImg)) { //如果图片已存在,新图片会自动替换旧图片// unlink($newImg); //删除echo "成功";
}
这篇关于【PHP】move_uploaded_file false 解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!