Heim > Fragen und Antworten > Hauptteil
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粉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
与它们一起消失。
结论:您正在从一个非常古老或非常糟糕的教程中学习。找一个更好的。
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 代码
希望这有帮助。