php的$_FILES的临时储存文件与回收机制实测过程


Posted in PHP onJuly 12, 2013

我想有跟我一样的想法的人会这样处理的: 上传的文件只是想临时使用,不需要把原文件保存备用,如resize之类的操作,且这些后期的操作会出现在第二轮从客户端请求时才操作的,如先上传,把上传的临时文件路径返回到浏览器,用户点击后再对这个临时文件进行操作;可是在实际的实现中发现,这个临时文件在二轮请求时,竟然不存在了,跑到临时文件夹中查看也没有找到.

我在某q群中也遇到有人问过这个问题,导致的原因也是跟我的这个实现想法差不多.所以,就有个疑惑,上传文件是怎么个原理?
不想去看php的实现代码,我大概的想了下,应该是一种回收机制:点击了临时文件空间,那么,php自身应该自己维护这块空间的回收;

于是自己尝试上传了一下极大的文件,大到足够让php运行很长时间,我以为我会看到它出现在临时文件夹中.可惜的是,我竟然没有看到它的身影,直到php返回:因为此文件超过上传限制;然后我使用小文件上传打印出它的临时文件夹路径,发现它是以php开头,以tmp结束的文件命名方式;

我想了个方式,使用while卡住上传php的本次进程一定的时间再返回,这回我看到了临时文件夹中的临时文件,确实是以php**.tmp这样的命名,如图
php的$_FILES的临时储存文件与回收机制实测过程 
如果在php运行的过程中使用刷新页面的非正常结束php的方式来中止php解析话,那么这个临时文件就会永久的保留,
如果php是正常的结束话,这个文件会在php的结束时删除.

同时我感觉到这个文件应该是在上传完成后再出现的:从我上传大文件看不到它的身影推断;
所以,php的临时文件维护方式是php一结束就回收资源,想在第二轮请求使用这个文件话,应该自己移动后进行维护此文件,
在本次测试中,并没有测试php include多个嵌套情况时,在什么时机下进行回收的.

PHP 相关文章推荐
php变量范围介绍
Oct 15 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
php 表单提交大量数据发生丢失的解决方法
Mar 03 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
php自定义apk安装包实例
Oct 20 PHP
PHP与Java对比学习日期时间函数
Jul 03 PHP
总结PHP中DateTime的常用方法
Aug 11 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP count()函数讲解
Feb 03 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
Apr 23 PHP
php图像处理函数大全(推荐收藏)
Jul 11 #PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 #PHP
深入Nginx + PHP 缓存详解
Jul 11 #PHP
基于PHP中的常用函数回顾
Jul 11 #PHP
PHP 获取文件权限函数介绍
Jul 11 #PHP
浅析php学习的路线图
Jul 10 #PHP
php对图像的各种处理函数代码小结
Jul 08 #PHP
You might like
PHP 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
PHP中图片等比缩放的实例
2013/03/24 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
php命令行模式代码实例详解
2021/02/26 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
利用python编写一个图片主色转换的脚本
2017/12/07 Python
python实现Floyd算法
2018/01/03 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
pytorch打印网络结构的实例
2019/08/19 Python
java关于string最常出现的面试题整理
2021/01/18 Python
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
奶茶专卖店创业计划书
2014/01/18 职场文书
安全教育实施方案
2014/03/02 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
解除劳动合同协议书
2014/09/17 职场文书
给老婆的保证书
2015/01/16 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python