开发手册 欢迎您!
软件开发者资料库

PHP - 文件上传

PHP文件上传 - 一个简单而简短的PHP教程和所有内置PHP函数的完整参考手册。本教程是为初学者和高级开发人员设计的。您将学习PHP内置函数,预定义变量示例,面向对象的PHP,数字,标量,数组,散列文件I / O,IF,ELSEIF,执行,循环,运算符,正则表达式,GET,POST,子程序,编码标准,模块,文件管理,套接字通信,参考,特殊变量,语法概述,表单验证,高级PHP,库,Web设计,PayPal集成,MySQL登录,Ajax搜索,Ajax XML解析器,Ajax自动完成搜索,Ajax RSS源例如,XML简介,简单XML,简单XML GET,SAX解析器示例,DOM解析器示例,框架工作,核心php vs框架工作php,设计模式。

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'] &minus ;上传文件的实际名称.

  • $ _ 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:          
               

它将产生以下结果 :

上传脚本