php文件上传参数细节

1:error类型:

    1)其值为 0,没有错误发生,文件上传成功。

2)其值为 1,上传的文件超过了 php.iniupload_max_filesize 选项限制的值。

3)其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

4)其值为 3,文件只有部分被上传。

5)其值为 4,没有文件被上传。

6)其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。

7)其值为 7,文件写入失败。php 5.1引入

2:php.ini的配置:

    1)file_uploads = On【开启文件上传】

    2)upload_tmp_dir =“”; 【临时文件目录】

    3)upload_max_filesize = 2M 【最大上传单个文件的大小】

    4)max_file_uploads=20【一个表单最多可以提交...】

    5)post_max_size = 8M【post接受的最大值】

    6)max_execute_time 【脚本的最大执行时间】【受到php、apache限制】

3:文件上传——分目录存储

  思路:

    接收文件,并分目录存储,生成随机文件名

      1)根据时间戳,随机数生成目录

      2)截取文件后缀

      3)判断大小

4.介绍mkdir()函数:

  mkdir($path,0777,true);

  第一个参数:必须,代表要创建的多级目录的路径;

  第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权;

  第三个参数:true表示允许创建多级目录。

5.php中设置字符串格式

  header("Content-type:text/html;charset=utf-8");

6.实例介绍

<?php

  /*创建目录*/

  function _mkdir(){

    $dir='./'.date("md/i",time);

    if(is_dir($dir)){return $dir;}else{mkdir($dir,0777,true);return $dir}

  }

  /*得到后缀名*/

  function getExt($file){

    $rs=explode('.',$file);

    return end($rs);

  }

  /*随机字符串*/

  function randName(){

    $str="abcdefghijklmnopqrstuvwxyz0123456789";

    return substr(str_shuffle($str),0,6);

  }

  /*移动临时文件*/

  $path='./'._mkdir().randName().getExt($_FILES['pic']['name']);

  move_uploaded_file($_FILES['pic']['tmp_name'],$path);

?>

      

  

posted on 2015-12-05 10:03  yanran  阅读(422)  评论(0编辑  收藏  举报