PHP实现文件上传功能
P粉868586032
P粉868586032 2024-03-25 18:04:14
0
2
558

我想将文件上传到给定文件夹。

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

P粉868586032
P粉868586032

全部回复(2)
P粉464082061

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 与它们一起消失。

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

P粉788571316

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

正如 @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:

希望这有帮助。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板