首页 > 语言 > PHP > 正文

简单php文件上传详细说明

2024-09-04 11:44:57
字体:
来源:转载
供稿:网友

关于文件上传我们讲了很多,这只是一款最基本的简单的文件上传功能,同时本教程也介绍了关于上传的原理以及各种函数的使用与file的参数说明,以及php.ihi设置上传文件大小配置等.

1  如果实现小文件的上传(2mb)一下是不需要对php教程.ini 中的配置进行修改的,如果要是大文件的上传就必须进行配置的修改.

2 修改php.ini 中的内容有:

post_max_size 指php通过表单post所能接收的最大值

upload_max_filesize 指允许上传文件的最大值 

3 上传表单的设置,代码如下:

  1. <form  method=”post”  action=””  enctype=”multipart/form-data”> 
  2.  
  3.    <input  name=”upfile”  type=”file”> 
  4.  
  5.    <input  type=”hidden”  name=”max_file_size”  value=”1024000”> 
  6.  
  7. </form> 

解释:1首先上传时entype属性必须设为multipart/form-data,2 表单中最好加上 hidden隐藏域 name值为max_file_size,该隐藏域的作用不是真正去限制上传文件大小的,而是为了避免用户误传大文件而陷入无尽的等待中,真正限制大小的还是刚才php.ini 中的两个修改项.

4 预定义变量$_files

首先他是一个二维的数组.

$_files[‘upfile’][‘name’]  上传文件的文件名

$_files[‘upfile’][‘size’]   上传文件的大小

$_files[‘upfile’][‘tmp_name’]  文件上传时,文件首先被保存为临时文件,改文件是临时文件名.

$_files[‘upfile’][‘type’]   上传文件的类型

$_files[‘upfile’][‘error’]   错误代码

注意 $_files[‘upfile’][‘name’]  这里的upfile 是与表单<input  name=”upfile”  type=”file”> 的name对应,千万别错.

5 具体实现,php实例代码如下:

  1.  <?php 
  2.  
  3.      $filename=$_files['upfile']['name']; 
  4.  
  5.         $tmp=$_files['upfile']['tmp_name']; 
  6.  
  7.         $error=$_files['upfile']['error']; 
  8.  
  9.         $path="./images/"
  10.  
  11.         if($error==0){ 
  12.  
  13.             if(is_uploaded_file($tmp)){//开源代码Vevb.com 
  14.                   if(move_uploaded_file($tmp,$path.$filename)){ 
  15.                           echo "上传成功!"
  16.                      }else
  17.                           echo "<script> alert('文件不合法');history.go(-1);</script>"
  18.                      } 
  19.                }else
  20.                   echo "<script> alert('非法操作!');history.go(-1);</script>"
  21.                } 
  22.         }else
  23.                echo"<script> alert('上传错误,错误类型:".$error."');history.go(-1);</script>"
  24.  
  25.         } 
  26. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表