无法上传到 tmp 目录

无法上传到 tmp 目录

我正在尝试测试 PHP 中的 http 图像上传功能。我在 OSX(本地)和 Ubuntu(远程)上的 Apache 上都尝试过这个功能。

在 php.ini 中我设置了upload_tmp_dir = /var/tmp/http-uploadtmp和都http-upload将权限设置为drwxrwxrwt

每次我尝试上传时都会收到错误消息,提示文件在临时位置不存在。

我的配置中是否缺少了什么?

实际的上传功能是:

    if ($_FILES) {
        $target_path = '/assets/logos' . basename($_FILES['logo']['name']);
    }
    if (move_uploaded_file($_FILES['logo']['tmp_name'], $target_path)) {
        echo 'success';
    }
    else {
        echo 'fail';
    }

具体错误如下:

Warning: move_uploaded_file(/logos/1317156765-shinetsu.gif): failed to open stream: No such file or directory in upload.php on line 8 Warning: move_uploaded_file(): Unable to move '/tmp/http-upload/php8CNWja' to '/logos/1317156765-shinetsu.gif' in upload.php on line 8 fail

答案1

我怀疑它试图将您上传的文件移动到 /assets/logos,而不是 /var。您可能想尝试使用 ./assets/logos,或以某种方式获取您网站的基本目录。

相关内容