len); //写入临时文件. if (wlen == -1) { /* write failed */ #if DEBUG_FILE_UPLOAD sapi_module.sapi_error(E_NOTICE, "write() failed - %s", strerror(errno)); #endif cancel_upload = UPLOAD_ERROR_F; } } ....
当循环读入完成后, 关闭临时文件句柄. 记录临时变量名:
zend_hash_add(SG(rfc1867_uploaded_files), temp_filename, strlen(temp_filename) + 1, &temp_filename, sizeof(char *), NULL);
并且生成FILE变量, 这个时候, 如果是有名上传, 那么就会设置:
PHP文件上传源码分析(RFC1867) - 凌众科技
快速业务通道
PHP文件上传源码分析(RFC1867)
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-24
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
FILES[''userfile''] //name="userfile"
如果是无名上传, 则会使用tmp_name来设置:
PHP文件上传源码分析(RFC1867) - 凌众科技
快速业务通道
PHP文件上传源码分析(RFC1867)
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-24
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
FILES[''tmp_name''] //无名上传
最终交给用户编写的upload.php处理.
这时在upload.php中, 用户就可以通过move_uploaded_file来操作刚才生成的文件了~ |