[英]Cannot move_uploaded_file to /tmp
這是我的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
但不在那里復制任何東西?
如果你的 tmp 目錄與文件 uploads.php 在同一層,更改:
$uploads_dir = '/tmp' . DIRECTORY_SEPARATOR;
對此:
$uploads_dir = __DIR__ . '/tmp' . DIRECTORY_SEPARATOR;
或者,如果該文件夾位於根級別(又名/ ),您需要下降到同一級別,例如:
$uploads_dir = __DIR__ . '/../../tmp' . DIRECTORY_SEPARATOR;
我希望它能幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.