Heim >Backend-Entwicklung >PHP-Tutorial >php文件上传时遇到的一个问题(move_uploaded_file)

php文件上传时遇到的一个问题(move_uploaded_file)

WBOY
WBOYOriginal
2016-07-25 09:04:301260Durchsuche
php文件上传时,用 move_uploaded_file 这个函数不能移动文件,而用copy 或者 rename 确是可以的。

php文件上传时,用 move_uploaded_file 这个函数不能移动文件,而用copy 或者 rename 确是可以的。 文档上说的比较模糊,就是 move_uploaded_file 这个函数,加了一步检查,检查这个文件是否是有 HTTP POST 上传的。 后来,终于源代码里面看到 把文件名和php 配置中的 upload_tmp_dir 这个参数进行比较,如果文件在这个目录下面,那么 move_uploaded_file 才会进行移动操作。而且这个比较是大小写敏感,/ \ 在Windows 下面也是不一样的。而在PHP配置文件解析的时候,会调用一个realpath 函数,也就是是说,你在move_uploaded_file 之前,必须对$file['tmp_name'] = realpath($file['tmp_name']); realpath 一下。

另上,注意,就是 move_uploaded_file 如果配置成一个无法访问的路径,那么不管怎么处理,move_uploaded_file 总是不能成功移动文件。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn