gpt4 book ai didi

php - 在 php.ini 中找不到 tmp 文件夹。 (Ubuntu 10.10, apache2)

转载 作者:行者123 更新时间:2023-12-04 18:42:20 25 4
gpt4 key购买 nike

我有一个表格,可以上传一张图片。
我尝试通过 $_FILES 获得它:

$filename = $_FILES['screenshot']['name'];
$source = $_FILES['screenshot']['tmp_name']."/".$filename;
$target = GL_UPLOADPATH.$filename;

echo "TEST0";

if (move_uploaded_file($source, $target)) {
//connect to DB and so on, what I need

echo "TEST1";
}

所以我得到回应 TEST0但不要得到回应 TEST1 .
如果我回显每个变量 - 这是正常的。我看到我的 $target - 类似于 /tmp/phpoLqYdj/test2.jpg
所以,我认为 PHP 不能 move_uploaded_file因为找不到 /tmp/phpoLqYdj/test2.jpg
但是 /tmp/phpoLqYdj/ 在哪里? ?我正在本地主机上进行测试。我的文档根目录是 /var/www/ .
PHP 在 php.ini 中有默认设置(upload_tmp_dir 在 php.ini 中有注释)。

在我的 /tmp/文件夹(在系统中) 我没有像 php*** 这样的文件夹.在 /var/tmp/任何一个。

(Ubuntu 10.10,LAMP 由“tasksel”安装)

最佳答案

当您通过 PHP 上传文件时,它会将它们存储为一个 tmp 文件,该文件未命名与文件名相关的任何内容。附加 $filename$_FILES['screenshot']['tmp_name']是不正确的处理方式... $_FILES['screenshot']['tmp_name']是文件。

此外,在请求结束时会删除 tmp 文件,因此您将永远没有机会在文件管理器中实际看到它。要么在同一个请求中移动它,要么它消失了。这一切都是以安全的名义完成的。

无论如何,只需使用它,你就会很好。

$filename = $_FILES['screenshot']['name'];
$source = $_FILES['screenshot']['tmp_name'];
$target = GL_UPLOADPATH.$filename;

echo "TEST0";

if (move_uploaded_file($source, $target)) {
//connect to DB and so on, what I need

echo "TEST1";
}

关于php - 在 php.ini 中找不到 tmp 文件夹。 (Ubuntu 10.10, apache2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4903496/

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