簡體   English   中英

無法將_uploaded_file 移動到 /tmp

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM