无法将上传文件移动到 /tmp
P粉092778585
P粉092778585 2024-04-01 15:28:12
0
1
363

这是我的 uploads.php 代码:

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

$uploads_dir = '/tmp' . DIRECTORY_SEPARATOR;
$tmp_name = $_FILES["file"]["tmp_name"];
$name = basename($_FILES["file"]["name"]);
echo move_uploaded_file($tmp_name, $uploads_dir . $name);

它返回 1 (又名 true),但文件不会复制到 /tmp。 如果我将 $uploads_dir 设置为具有权限 777 的不同目录,它就可以工作。 如果目标目录错误或没有正确的权限,我会收到错误消息。

/tmp 目录作为我猜的正确权限:

$ ls -l / | grep tmp
drwxrwxrwt  21 root root      20480 apr 21 17:39 tmp

那么为什么它返回 true 但不复制任何内容?

P粉092778585
P粉092778585

全部回复(1)
P粉129275658

如果你的tmp目录与uploads.php文件在同级更改:

$uploads_dir = '/tmp' . DIRECTORY_SEPARATOR;

对此:

$uploads_dir = __DIR__ . '/tmp' . DIRECTORY_SEPARATOR;

或者如果该文件夹位于根级别(又名 / ) 您需要下降到相同的级别,例如:

$uploads_dir = __DIR__ . '/../../tmp' . DIRECTORY_SEPARATOR;

希望对你有帮助。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!