php上传文件为什么要使用move_uploaded_file
程序员文章站
2022-04-19 19:43:22
...
似乎教程里都是这么告诉我们的,在php里移动上传的文件要用
move_uploaded_file
,但是为什么非要使用这个函数来移动上传的文件呢?上传文件的地址不是在$_FILES
数组的tmp_name
里面吗?而且我测试过,用一般的文件函数,像rename
和file_get_contents
之类的,都可以操作这个文件,那么不使用这个函数到底有什么坏处呢?
回复内容:
似乎教程里都是这么告诉我们的,在php里移动上传的文件要用move_uploaded_file
,但是为什么非要使用这个函数来移动上传的文件呢?
上传文件的地址不是在$_FILES
数组的tmp_name
里面吗?而且我测试过,用一般的文件函数,像rename
和file_get_contents
之类的,都可以操作这个文件,那么不使用这个函数到底有什么坏处呢?
文件作为一种特殊的表单数据,通过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...
推荐阅读
-
PHP使用curl模拟post上传及接收文件的方法
-
PHP move_uploaded_file() 函数(将上传的文件移动到新位置)
-
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
-
php使用curl模拟浏览器表单上传文件或者图片的方法
-
PHP move_uploaded_file() 函数(将上传的文件移动到新位置)
-
使用PHP和HTML5 FormData实现无刷新文件上传教程
-
php使用ereg验证文件上传的方法
-
PHP使用curl请求实现post方式上传图片文件功能示例
-
php 使用html5 XHR2实现上传文件与进度显示功能示例
-
PHP使用HTML5 FileApi实现Ajax上传文件功能示例