Heim  >  Fragen und Antworten  >  Hauptteil

PHP implementiert die Funktion zum Hochladen von Dateien

Ich möchte eine Datei in einen bestimmten Ordner hochladen.

<?php
$folder = "upload/";
if (is_uploaded_file($HTTP_POST_FILES['filename']['tmp_name']))  {   
    if (move_uploaded_file($HTTP_POST_FILES['filename']['tmp_name'], $folder.$HTTP_POST_FILES['filename']['name'])) {
         echo "File uploaded";
    } else {
         echo "File not moved to destination folder. Check permissions";
    };
} else {s
     echo "File is not uploaded";
}; 
?>

Der Fehler ist:

Hinweis: Undefinierte Variable: HTTP_POST_FILES in C:wampwwwsdgimportips.php in Zeile 3

P粉868586032P粉868586032207 Tage vor523

Antworte allen(2)Ich werde antworten

  • P粉464082061

    P粉4640820612024-03-26 13:22:37

    PHP 4.1 引入了超级全局。它们替换了包含从请求中提取的数据的旧的长命名数组。 $_FILES[] 已替换$HTTP_POST_FILES[]$_GET[ ] 替换了 $HTTP_GET_VARS[] 等等

    对于后续的 PHP 4 版本,旧数组和新数组可以并排使用。 PHP 5 默认情况下禁用旧数组的生成,并引入了 php.ini< /code> 指令 register_long_arrays< /code> 可用于重新启用旧数组的创建。

    自 PHP 5.4 起,旧的长命名数组被完全删除,并且 register_long_arrays 与它们一起消失。

    结论:您正在从一个非常古老或非常糟糕的教程中学习。找一个更好的。

    Antwort
    0
  • P粉788571316

    P粉7885713162024-03-26 09:22:47

    以下是上传文件的一种方式,还有很多其他方式。

    正如 @nordenheim 所说,$HTTP_POST_FILES 自 PHP 4.1.0 起已被弃用,因此不建议使用它。

    PHP 代码(upload.php)

     5000000) {
            $msg = "Sorry, your file is too large.";
        } elseif (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            $msg = "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded.";
        }
    }
    
    ?>

    启动功能的 HTML 代码

    Select file to upload:

    希望这有帮助。

    Antwort
    0
  • StornierenAntwort