Web应用程序中的文件上载和存储处理

时间:2009-11-03 06:03:00

标签: php web-applications file-upload

我目前正在使用php和ajax文件上传来开发Web应用程序。 在web应用程序中涉及从用户上传文件,例如电子邮件客户端,照片库。这是我被卡住的情景。

当用户上传某些文件但未提交时关闭浏览器时,我想删除这些文件并仅移动相关文件。

我已经尝试将这些东西保留在tmp /文件夹中,并通过apache给出一个临时名称,但是当我进行上传时我必须立即移动文件,否则通过参考临时文件名无法在后期找到该文件。

我把它放在/ tmp /中的原因是我想要设置一个cron作业并删除那些文件夹中的文件以释放服务器空间。

我做对了吗?或者是否有hotmail,google等使用的标准行业方法?

3 个答案:

答案 0 :(得分:1)

您需要另一个临时文件夹,您可以自行管理。

您可以上传到您自己创建的名为temp的文件夹中。上传完成后,将临时文件从PHP的tmp文件夹移动到临时文件夹中。

然后,当提交完成后,您将文件移动到其各自的文件夹中。

使用后台工作的cron作业来删除该文件夹中的旧文件。

请记住授予PHP,Apache和cron作业权限以访问该文件夹。

不要依赖行业标准 - 此外,微软和谷歌不使用PHP。 (也许谷歌,但绝对不是微软)。

答案 1 :(得分:0)

为什么不立即将它从tmp /文件夹移动到您自己的临时暂存文件夹,然后在数据库中保留对它的引用,并有一个cron作业定期扫描数据库以获取带有时间戳的“暂存”文件过去超过X小时并删除它们?

答案 2 :(得分:0)

我不知道大男孩,但我想,你可以创建一个数据库表,即保存临时文件名,这种方法的优点是,你可以从临时文件表中删除条目,甚至浏览器是没有在中间关闭,另外设置cron作业来删除临时文件表下的文件。