加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 保持tmp上传文件

发布时间:2020-12-13 17:22:39 所属栏目:PHP教程 来源:网络整理
导读:我在Laravel中使用了pluploader,在我的管理中,它在创建新文章时的工作方式是执行以下步骤: 键入创建新文章所需的详细信息 选择要上传文章的照片 单击“创建”按钮时,将执行以下操作: 在会话数组中保存每张照片的上传详细信息.这意味着如果要上传3个文件,则
我在Laravel中使用了pluploader,在我的管理中,它在创建新文章时的工作方式是执行以下步骤:

>键入创建新文章所需的详细信息
>选择要上传文章的照片
>单击“创建”按钮时,将执行以下操作:

>在会话数组中保存每张照片的上传详细信息.这意味着如果要上传3个文件,则每个上传都有单独的POST操作
>将照片保存在该会话数组中后,它会在文章的数据库中创建记录
>它将创建的文章的ID发送到应该获取照片并将其移动到其文件夹的函数,并将照片记录添加到数据库中

现在,问题是每个POST都会删除临时文件tmp_filename,因此当它试图实际移动照片时…没有要移动的照片.

我是对的,如果是的话,我该如何解决这个问题呢?有什么方法可以保留tmp删除直到X功能结束?

解决方法

Am I right,

是的,你是对的. PHP在请求完成后删除上传的临时文件. PHP手册中也清楚地记录了这一点:

The file will be deleted from the temporary directory at the end of the request if it has not been moved away or renamed.

你在这里找到这些信息:POST method uploadsDocs.

and if so,how can I work around that issue?

知道这确实表明如果你想保留它,你应该保留文件的副本或重命名.

Any way of retaining the tmp deletion until X function has ended?

如上所述,删除将在请求完成时启动.所以在PHP中,通常所有函数都在请求完成之前执行,所以如果你在同一个请求中调用它,甚至是X函数.

如果不在同一请求中调用它,则需要引入会话管理并复制或重命名tempfile,然后才能自动删除它.因为在PHP中的任何其他操作都应该通过多个请求来完成.见SessionsDocs.

另见:

> php – multi-step form with file upload

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读