2009-11-03 23 views
1

我目前使用php和ajax文件上传来开发web应用程序。 在Web应用程序中涉及从用户上传文件,例如电子邮件客户端,照片库。这是我陷入困境的情景。网络应用程序中的文件上传和存储处理

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

我已经尝试离开tmp /文件夹中的东西,并已由apache给予临时名称,但是当我做上传时,我必须立即移动该文件,否则通过引用临时文件在后面的阶段中找不到该文件文件名。

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

我做对了吗?或者是否有一个由hotmail,谷歌等使用的标准行业方法?

回答

1

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

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

然后,当提交完成后,您将文件移到其相应的文件夹中。

有一个工作背景的cron作业可以删除该文件夹中的旧文件。

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

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

0

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

0

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

相关问题