Heim  >  Fragen und Antworten  >  Hauptteil

Die Upload-Datei konnte nicht nach /tmp verschoben werden

Das ist mein uploads.php Code:

<?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);

Es kehrt zurück 1 (又名 true),但文件不会复制到 /tmp. Wenn ich $uploads_dir auf ein anderes Verzeichnis mit der Berechtigung 777 setze, funktioniert es. Wenn das Zielverzeichnis falsch ist oder nicht über die richtigen Berechtigungen verfügt, erhalte ich eine Fehlermeldung.

/tmp Verzeichnis als korrekte Berechtigungen vermute ich:

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

Warum kommt es zurück true, kopiert aber nichts?

P粉092778585P粉092778585174 Tage vor274

Antworte allen(1)Ich werde antworten

  • P粉129275658

    P粉1292756582024-04-02 09:30:40

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

    $uploads_dir = '/tmp' . DIRECTORY_SEPARATOR;
    

    对此:

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

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

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

    希望对你有帮助。

    Antwort
    0
  • StornierenAntwort