📜  PHP-文件上传

📅  最后修改于: 2020-10-21 05:11:47             🧑  作者: Mango


PHP脚本可以与HTML表单一起使用,以允许用户将文件上传到服务器。最初,文件被上传到临时目录,然后通过PHP脚本重定位到目标位置。

phpinfo.php页面中的信息将用于文件上传的临时目录描述为upload_tmp_dir ,将允许上传的文件的最大允许大小声明为upload_max_filesize 。这些参数设置在PHP配置文件php.ini中

上传文件的过程遵循以下步骤-

  • 用户打开包含HTML表单的页面,该表单包含文本文件,浏览按钮和提交按钮。

  • 用户单击浏览按钮,然后选择要从本地PC上传的文件。

  • 所选文件的完整路径将显示在文本字段中,然后用户单击“提交”按钮。

  • 所选文件将发送到服务器上的临时目录。

  • 在表单的action属性中被指定为表单处理程序的PHP脚本检查文件是否到达,然后将文件复制到预期的目录中。

  • PHP脚本向用户确认成功。

与往常一样,在写入文件时,必须为临时位置和最终位置都设置允许文件写入的权限。如果将其中任何一个设置为只读,则处理将失败。

上传的文件可以是文本文件或图像文件,也可以是任何文档。

创建一个上传表单

下面的以下HTM代码创建一个上载器表单。此表单的方法属性设置为post,而enctype属性设置为multipart / form-data

 2097152){
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true){
         move_uploaded_file($file_tmp,"images/".$file_name);
         echo "Success";
      }else{
         print_r($errors);
      }
   }
?>

   
      
      

它将产生以下结果-

上载表格

创建一个上传脚本

有一个名为$ _FILES的全局PHP变量。此变量是关联的二维数组,保留与上载文件有关的所有信息。因此,如果在上传表单中分配给输入的name属性的值是file ,那么PHP将创建以下五个变量-

  • $ _FILES [‘file’] [‘tmp_name’] -Web服务器上临时目录中的上载文件。

  • $ _FILES [‘file’] [‘name’] -上载文件的实际名称。

  • $ _FILES [‘file’] [‘size’] -上载文件的大小(以字节为单位)。

  • $ _FILES [‘file’] [‘type’] -上载文件的MIME类型。

  • $ _FILES [‘file’] [‘error’] -与此文件上传关联的错误代码。

以下示例应允许上传图片,并返回结果作为上传文件信息。

 2097152) {
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true) {
         move_uploaded_file($file_tmp,"images/".$file_name);
         echo "Success";
      }else{
         print_r($errors);
      }
   }
?>

   
      
      
  • Sent file:
  • File size:
  • File type:

它将产生以下结果-

上载脚本