PHP 文件上传 | 菜鸟教程


通过 PHP,可以把文件上传到服务器。

本章的例子 test 项目下完成,目录结构是:

test
|-----upload             # 文件上传的目录
|-----          # 表单文件
|-----    # php 上传代码

源下载


创建一个文件上传表单

允许用户从表单上传文件是非常有用的。

请看下面这个供上传文件的 HTML 表单:




菜鸟历程



         
    

将上述代码保存到 文件中。

关于上述 HTML 下面列出了该表格的一些注释。:

  • 标签的 enctype 属性指定提交表单时要使用的内容类型。。当表单需要二进制数据时,例如,文件内容。,请使用 "multipart/form-data"。
  • 标签的 type="file" 属性指定输入应视为文件。。举例来说,在浏览器中预览时,你会看到一个浏览按钮旁边的输入框。。

注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。


创建上传脚本

"" 文件含有供上传文件的代码:

 0)
{
    echo "错误:" . 文件[文件] [错误] . "
"; } else {     echo "上传确定: " . 文件[文件] [ [姓名] ] . "
";     echo "文件类型: " . 文件[文件] [类型] . "
";     echo "文件大小: " . 文件[文件] [尺寸] / 1024) . " kB
";     echo 文件的临时存储位置 " . 文件[文件] } ?>

通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。

第一个参数是窗体。 input name,第二个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。如下所示:

  • 文件[文件] [ [姓名] ] - 上传文件的名称
  • 文件[文件] [类型] - 上传文件的类型
  • 文件[文件] [尺寸] - 上传文件的大小,字节表
  • 文件[文件] - 存储在服务器上的文件的临时副本的名称。
  • 文件[文件] [错误] - 由文件上传导致的错误代码

这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关允许哪些用户上传文件的限制。


上传限制

在这个脚本中,我们增加了对文件上传的限制。用户只能上传 .gif、.jpeg、.jpg、.png 文件,文件大小必须小于 200 kB:

 0)
    {
        echo "错误:: " . 文件[文件] [错误] . "
";     }     else     {         echo "上传确定: " . 文件[文件] [ [姓名] ] . "
";         echo "文件类型: " . 文件[文件] [类型] . "
";         echo "文件大小: " . 文件[文件] [尺寸] / 1024) . " kB
";         echo 文件的临时存储位置 " . 文件[文件]     } } else {     echo 非法文件格式 } ?>


保存被上传的文件

上面的例子在服务器上。 PHP 临时文件夹中创建了一个被上传文件的临时副本。

此临时复制文件将在脚本末尾消失。。要保存被上传的文件,我们需要把它复制到另一个位置。:

 0)
    {
        echo "错误:: " . 文件[文件] [错误] . "
";     }     else     {         echo "上传确定: " . 文件[文件] [ [姓名] ] . "
";         echo "文件类型: " . 文件[文件] [类型] . "
";         echo "文件大小: " . 文件[文件] [尺寸] / 1024) . " kB
";         echo 文件的临时存储位置 " . 文件[文件] . "
";                  // 判断当前目录 upload 目录存在于该文件中吗?         // 如果没有 upload 目录,你需要创建它。,upload 目录权限是 777         if (file_exists("upload/" . 文件[文件] [ [姓名] ]))         {             echo 文件[文件] [ [姓名] ] . " 文件已经存在。 ";         }         else         {             // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下             move_uploaded_file(文件[文件], "upload/" . 文件[文件] [ [姓名] ]);             echo 文件存储在 " . "upload/" . 文件[文件] [ [姓名] ];         }     } } else {     echo 非法文件格式 } ?>

上面的脚本检测文件是否存在。,如果不存在,将文件复制到名称 "upload" 在目录下。

文件上传演示操作如下所示:



上一篇:常熟农商银行
下一篇:没有了