gpt4 book ai didi

php - 文件上传不在/tmp

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

这听起来像是一个愚蠢的问题,但是,在上传文件后,文件不在 php 指定的位置。

首先是简单的测试页面:

<html><body> 
<h1><?=$_FILES['imgup']['tmp_name'];?></h1>
<?
print_r($_FILES);
?>
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="imgup" id="imgup">
<input type="submit">
</form>
</body></html>

现在,纯文本的 print_r:

Array ( [imgup] => Array ( [name] => ace.jpg [type] => image/jpeg [tmp_name] => /tmp/phpEdfBjs [error] => 0 [size] => 29737 ) )

所以没有错误,标准的路径,但是/tmp 没有这样的文件。此外,在我的整个系统上运行查找会出现 bubkis。

仅供引用:php.ini 有

max_execution_time = 120
file_uploads = On
upload_max_filesize = 2M

我上传的文件是29k

有什么想法吗?

最佳答案

临时文件在接收它的 PHP 脚本完成运行时被删除:它只是一个临时文件。

您要将表单发布到的 PHP 脚本 -- upload.php -- 应该使用 move_uploaded_file() 将临时文件移动到非临时位置。


基本上,这个想法是:

  • 用户将文件上传到您的脚本,
    • 该文件存储在临时位置。
  • 您的脚本适用于该文件:
    • 检查文件是否正常(内容类型、大小、...)
  • 如果文件没问题,您的脚本会将其移动到永久存储目录(任何您想要的位置)

如果上传没有成功完成,或者如果您没有将文件移动到其他地方,临时文件会自动删除。


作为引用,您应该阅读手册的以下部分:Handling file uploads - POST method uploads

引用其中与您的问题相关的部分:

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

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

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