我想將文件上傳到給定資料夾。
<?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"; }; ?>
錯誤是:
注意:未定義變數:第 3 行 C:\wamp\www\sdg\import\ips.php 中的 HTTP_POST_FILES
PHP 4.1 引進了超級全域。它們取代了包含從請求中提取的資料的舊的長命名數組。
$_FILES[]
已取代$HTTP_POST_FILES[]
,$_GET[ ]
取代了$HTTP_GET_VARS[]
等等對於後續的 PHP 4 版本,舊數組和新數組可以並排使用。 PHP 5 預設會停用舊數組的生成,並引入了
php.ini 指令
register_long_arrays
可用於重新啟用舊數組的創建。自 PHP 5.4 起,舊的長命名數組被完全刪除,並且
register_long_arrays
與它們一起消失。結論:您正在從一個非常古老或非常糟糕的教程中學習。找一個更好的。
以下是上傳檔案的一種方式,還有很多其他方式。
正如 @nordenheim 所說,
$HTTP_POST_FILES
自 PHP 4.1.0 起已被棄用,因此不建議使用它。PHP 程式碼(upload.php)
啟動功能的 HTML 程式碼
希望這有幫助。