gpt4 book ai didi

php - 保持 tmp 上传文件

转载 作者:可可西里 更新时间:2023-10-31 22:56:31 24 4
gpt4 key购买 nike

我在 Laravel 中使用 pluploader,在我的管理中,创建新文章时它的工作方式是执行以下步骤:

  • 键入创建新文章所需的详细信息
  • 选择要为文章上传的照片
  • 单击创建 按钮时,将完成以下操作:
    • 将每张照片的上传详细信息保存在 session 数组中。这意味着如果要上传 3 个文件,每个上传都有一个单独的 POST 操作
    • 一旦照片被保存在 session 数组中,它就会在数据库中为文章创建记录
    • 它将创建的文章的 id 发送到一个函数,该函数应该获取照片并将它们移动到他们的文件夹,并将照片记录添加到数据库中

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

我说的对吗?如果对,我该如何解决这个问题?有什么方法可以在 X 函数结束之前保留 tmp 删除?

最佳答案

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 函数如果您在同一请求中调用它

如果不在same请求中调用,需要引入session管理,复制或重命名tempfile后自动删除。正如在 PHP 中应该通过多个请求完成的任何其他操作一样。参见 SessionsDocs

另见:

关于php - 保持 tmp 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14104266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com