在php里,move_uploaded_file函数的作用是将上传的文件移动到新位置。因为上传的文件被http server接收后是一个临时文件,这个函数就将临时文件更名为上传的名字,并且保存在网站设定的文件夹下。该函数的执行若成功,则返回 true,否则返回 false。返回false的原因有二:
1.如果 file 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 false。
2.如果 file 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 false,此外还会发出一条警告。
这是文档里说的,给不了我什么实际的帮助。经过一番对比检查后发现,我遇到的问题是由于上传文件夹的权限不够(缺少写权限),导致死活上传后文件夹下没有文件。于是将该文件夹的权限改为777,即chmod 777 upload_dir后,果然可以上传了。