PHP&;GD:存储会话期间创建的文件,然后在会话过期时删除

PHP&;GD:存储会话期间创建的文件,然后在会话过期时删除,php,session,gd,session-timeout,Php,Session,Gd,Session Timeout,我正在创建一个在线多层GD图像创建工具。用户可以将新图像上载到服务器,以添加到GD生成的图像中。我希望能够在整个php会话期间存储gd图像和所有用户上传的文件。然后,用户可以选择将这些文件永久保存到其帐户中,但默认行为是在会话到期后删除未使用的文件 有没有人给我指路 谢谢会话到期时不会通知您。这只是在后台发生的。你可以做的是让一个任务以某种固定的时间间隔(比如说每小时)运行聊天检查临时目录中的所有文件,并删除在一定时间内未被触及的所有文件。您的朋友在这里。会话到期时不会通知您。这只是在后台发生的

我正在创建一个在线多层GD图像创建工具。用户可以将新图像上载到服务器,以添加到GD生成的图像中。我希望能够在整个php会话期间存储gd图像和所有用户上传的文件。然后,用户可以选择将这些文件永久保存到其帐户中,但默认行为是在会话到期后删除未使用的文件

有没有人给我指路


谢谢

会话到期时不会通知您。这只是在后台发生的。你可以做的是让一个任务以某种固定的时间间隔(比如说每小时)运行聊天检查临时目录中的所有文件,并删除在一定时间内未被触及的所有文件。您的朋友在这里。

会话到期时不会通知您。这只是在后台发生的。你可以做的是让一个任务以某种固定的时间间隔(比如说每小时)运行聊天检查临时目录中的所有文件,并删除在一定时间内未被触及的所有文件。你的朋友在这里。

我在这里看到两种可能性

  • 设置将定义垃圾收集函数以删除旧图像的

  • 另一个简单的解决方案是使用CRON。每10分钟运行一次并删除旧图像

  • 第一种解决方案的缺点是,有时用户会因为垃圾收集运行而获得更长的加载时间

    第二种解决方案的缺点是,您可能无法在非专用服务器上访问它


    您还可以将这两种解决方案结合起来。我可能会这样做。

    我在这里看到两种可能性

  • 设置将定义垃圾收集函数以删除旧图像的

  • 另一个简单的解决方案是使用CRON。每10分钟运行一次并删除旧图像

  • 第一种解决方案的缺点是,有时用户会因为垃圾收集运行而获得更长的加载时间

    第二种解决方案的缺点是,您可能无法在非专用服务器上访问它


    您还可以将这两种解决方案结合起来。我可能会这样做。

    我知道这个问题已经很老了,但我目前正在从事一个类似的项目,希望与其他人分享我的解决方案作为参考

    我要做的是上传图像,将其转换为base64(base64\u encode()),然后将其保存在会话变量中,以便再次从磁盘中删除原始图像

    当您想使用它进行GD操作时,需要获取保存的会话数据,对其进行解码(base64_decode())并创建一个图像对象(imagecreatefromstring()

    这只是一个简单的想法,它适用于我的应用程序

    抬起头


    base64数据可以为大图像获取大量数据,会话内存(内存限制)是与页面上的每个其他用户共享的空间。所以不要做得太过分——因为如果有很多人同时使用你的应用程序,你的内存限制可能会超过…

    我知道这个问题已经很老了,但我目前正在从事一个类似的项目,我想与其他人分享我的解决方案作为参考

    我要做的是上传图像,将其转换为base64(base64\u encode()),然后将其保存在会话变量中,以便再次从磁盘中删除原始图像

    当您想使用它进行GD操作时,需要获取保存的会话数据,对其进行解码(base64_decode())并创建一个图像对象(imagecreatefromstring()

    这只是一个简单的想法,它适用于我的应用程序

    抬起头

    base64数据可以为大图像获取大量数据,会话内存(内存限制)是与页面上的每个其他用户共享的空间。所以不要做得太多,因为如果很多人同时使用你的应用程序,你的内存限制可能会超过