1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

PHP文件上传

要想通过PHP成功地管理上传文件,需要通过以下三方面信息:

1、设置PHP配置文件中的指令:用于精细地调节PHP的文件上传功能

2、$_FILES多维数组:用于存储各种与上传文件有关的信息,其他数据还使用$_POST去接收

  $_FILES["myfile"]["name"]中的值是:客户端文件系统的文件的名称

  $_FILES["myfile"]["type"]中的值是:客户端传递的文件的类型

  $_FILES["myfile"]["size"]中的值是:文件的字节的大小

  $_FILES["myfile"]["tmp_name"]中的值是:文件被上传后在服务器存储的临时全路径

  $_FILES["myfile"]["error"]中的值是:文件上传的错误代码(php 4.2以后增加的功能)

  伴随文件上传时产生的错误信息代码具体如下:

  值为0(UPLOAD_ERR_OK):表示没有发生任何错误

  值为1(UPLOAD_ERR_INI_SIZE):表示上传文件的大小超出了约定值。文件大小的最大值是在PHP配置文件中指定的,该指令是:upload_max_filesize

  值为2(UPLOAD_ERR_FORM_SIZE):表示上传文件大小超出了HTML表单隐藏域属性的MAX_FILE_SIZE元素所指定的最大值

  值为3(UPLOAD_ERR_PARTIAL):表示文件只被部分上传

  值为4(UPLOAD_ERR_NO_FILE):表示没有上传任何文件

  值为6(UPLOAD_ERR_NO_TMP_DIR):表示找不到临时文件夹(PHP4.3.10和PHP5.0.3)

  值为7(UPLOAD_ERR_CANT_WRITE):表示文件写入失败(PHP 5.1.0)

  3、PHP的文件上传处理函数:用于上传文件的后续处理

  只要把临时目录下的上传的文件,复制到指定目录下指定的名字就可以完成上传

  PHP提供了专门用于文件上传所使用的is_uploaded_file()和move_uploaded_file()函数

【is_uploaded_file()】

  is_uploaded_file()判断文件是否是通过 HTTP POST 上传的

bool is_uploaded_file ( string $filename )

  如果filename所给出的文件是通过 HTTP POST 上传的则返回 TRUE。这可以用来确保恶意的用户无法欺骗脚本去访问本不能访问的文件

  [注意]为了能使is_uploaded_file() 函数正常工作,必须使用$_FILES['userfile']['tmp_name'],而在从客户端上传的文件名$_FILES['userfile']['name']不能正常运作

【move_uploaded_file()】

  move_uploaded_file()方法用于将上传的文件移动到新位置

bool move_uploaded_file ( string $filename , string $destination )

  本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件

  该函数成功时返回TRUE;如果filename不是合法的上传文件,不会出现任何操作,move_uploaded_file()将返回 FALSE;如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file()将返回 FALSE。此外还会发出一条警告

<?php   header("Content-Type:text/plain;charset=utf-8");  //判断错误  if($_FILES['file1']['error'] > 0) {      switch($_FILES['file1']['error']) {          case 1:          case 2:              echo "上传文件太大";              break;          case 3:              echo "文件只被部分上传";              break;          case 4:              echo "没有上传任何文件";              break;          default:              echo "末知错误";      }      exit;  }      //判断类型      $arr = explode(".", basename($_FILES['file1']['name']));      $hz = array_pop($arr);      $allowtype =array("gif", "png", "jpg", "jpeg");      if(!in_array($hz, $allowtype)) {          echo "上传的类型不合法";          exit;      }       //判断大小      $maxsize= 1000000;      if($_FILES['file1']['size'] > $maxsize) {          echo "上传的文件超过了{$maxsize}字节!";          exit;      }      //随机文件名      $tmp_name = $_FILES['file1']['tmp_name'];      $src_name = "./uploads/".date("YmdHis").rand(100, 999).".".$hz;      if(move_uploaded_file($tmp_name, "$src_name")){          echo '上传成功';      }else{          echo '上传失败';      }      ?>

原文链接:https://www.qiquanji.com/post/7944.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

作者:xialibing 分类:网页教程 浏览: