php上传文件为什么要使用move_uploaded_file
ringa_lee
ringa_lee 2017-04-10 14:23:43
[PHP讨论组]

似乎教程里都是这么告诉我们的,在php里移动上传的文件要用move_uploaded_file,但是为什么非要使用这个函数来移动上传的文件呢?

上传文件的地址不是在$_FILES数组的tmp_name里面吗?而且我测试过,用一般的文件函数,像renamefile_get_contents之类的,都可以操作这个文件,那么不使用这个函数到底有什么坏处呢?

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
ringa_lee

文件作为一种特殊的表单数据,通过http post请求方式提交至服务器的时候,php会生成一个$_FILES全局数组,相关的文件信息会存放在这个全局数组中。所上传的文件保存在一个临时目录中。

那么,对上传的文件进行合法性,安全性等进行验证以后,再通过move_uploaded_file函数将文件移动到服务器上的对应目录。

事实上也可以通过copy来将函数文件复制到对应的目录,只要确定了上传文件的合法性以及安全性。类似下面的代码:

//先用copy函数,如果失败,使用move_uploaded_file
if ( ! @copy($temp_file, $upload_path.$file_name))
		{
			if ( ! @move_uploaded_file($temp_file, $upload_path.$file_name))
			{
				return FALSE;
			}
		}

本人收藏了一篇关于php文件上传的博文,讲的非常好,相信你读过后,就会对于文件上传有一个清晰的认识!

http://www.360weboy.com/php/upload.ht...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号