上传文件是怎么个原理
大概的想了下
应该是一种回收机制:点击了临时文件空间
那么
php自身应该自己维护这块空间的回收
具体的测试过程如下
感兴趣的朋友可以参考下哈
我想有跟我一样的想法的人会这样处理的: 上传的文件只是想临时使用不需要把原文件保存备用如resize之类的操作且这些后期的操作会出现在第二轮从客户端请求时才操作的如先上传把上 传的临时文件路径返回到浏览器用户点击后再对这个临时文件进行操作;可是在实际的实现中发现这个临时文件在二轮请求时竟然不存在了跑到临时文件夹 中查看也没有找到
我在某q群中也遇到有人问过这个问题导致的原因也是跟我的这个实现想法差不多所以就有个疑惑上传文件是怎么个原理?
不想去看php的实现代码我大概的想了下应该是一种回收机制:点击了临时文件空间那么php自身应该自己维护这块空间的回收;
于 是自己尝试上传了一下极大的文件大到足够让php运行很长时间我以为我会看到它出现在临时文件夹中可惜的是我竟然没有看到它的身影直到php返 回:因为此文件超过上传限制;然后我使用小文件上传打印出它的临时文件夹路径发现它是以php开头以tmp结束的文件命名方式;
我想了个方式使用while卡住上传php的本次进程一定的时间再返回这回我看到了临时文件夹中的临时文件确实是以php**tmp这样的命名如图
如果在php运行的过程中使用刷新页面的非正常结束php的方式来中止php解析话那么这个临时文件就会永久的保留
如果php是正常的结束话这个文件会在php的结束时删除
同时我感觉到这个文件应该是在上传完成后再出现的:从我上传大文件看不到它的身影推断;
所以php的临时文件维护方式是php一结束就回收资源想在第二轮请求使用这个文件话应该自己移动后进行维护此文件
在本次测试中并没有测试php include多个嵌套情况时在什么时机下进行回收的