我在Laravel中使用pluploader
,在我的管理中,它在创建新文章时的工作方式正在执行以下步骤:
Create
按钮时,将执行以下操作:
id
发送到应该获取照片并将其移动到其文件夹的函数,并将照片记录添加到数据库中现在,问题在于每个POST
tmp_filename
,临时文件都会被删除,所以当它试图实际移动照片时...没有照片可以移动。
我是对的,如果是的话,我该如何解决这个问题呢?有什么方法可以保留tmp删除直到X函数结束?
答案 0 :(得分:3)
我是对的,
是的,你是对的。 PHP在请求完成后删除上传的临时文件。 PHP手册中也清楚地记录了这一点:
如果文件尚未移走或重命名,该文件将在请求结束时从临时目录中删除。
您可以在此处找到相关信息:POST method uploadsDocs。
如果是这样,我该如何解决这个问题呢?
知道这确实表明如果你想保留它,你应该保留文件的副本或重命名。
任何保留tmp删除的方法,直到X函数结束?
正如所写的那样,删除将在请求完成时启动。所以在PHP中,通常所有函数都在请求完成之前执行,所以即使是X函数,如果你在同一个请求中调用它。
如果不在相同的请求中调用它,则需要引入会话管理并复制或重命名tempfile,然后才能自动删除它。因为在PHP中的任何其他操作都应该通过多个请求来完成。请参阅SessionsDocs。
参见:
答案 1 :(得分:2)
您可以做的最简单的事情就是将文件上传后移到其他地方。
但是,我建议你这样做:
<input type="hidden" name="photos[]" value="1234">
。这样你甚至不需要会话。