一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

PHP图片上传实例分析[包含预览]

时间:2014-07-03 编辑:简简单单 来源:一聚教程网

前期需要了解的知识点

move_uploaded_file()文件上传函数

 代码如下 复制代码

if(move_uploaded_file($_FILES["filename"]["tmp_name"])
{
echo '文件上传成功';
}

$_FILES php全局变量

$_FILES: 经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)

 代码如下 复制代码


$_FILES['myFile']['name']   客户端文件的原名称。
 $_FILES['myFile']['type']   文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
 $_FILES['myFile']['size']   已上传文件的大小,单位为字节。
 $_FILES['myFile']['tmp_name']   文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但用 putenv() 函数设置是不起作用的。
 $_FILES['myFile']['error']   和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
  UPLOAD_ERR_OK             值:0; 没有错误发生,文件上传成功。
  UPLOAD_ERR_INI_SIZE      值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
  UPLOAD_ERR_FORM_SIZE  值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
  UPLOAD_ERR_PARTIAL          值:3; 文件只有部分被上传。
  UPLOAD_ERR_NO_FILE          值:4; 没有文件被上传。    值:5; 上传文件大小为0.

核心文件:

upimg.htm

 代码如下 复制代码

"http://www.w3.org/TR/html4/loose.dtd">



上传图片
 



 
   
 

  
请选择上传的图片
   
   
   
   
  

 

注意:请上传120*45像素的GIF或者jpg格式的logo图片

logo预览:


uploadf.php

if(!empty($_GET[submit]))
{
 $path="uploadfiles/pic/"; //上传路径
 //echo $_FILES["filename"]["type"];

 if(!file_exists($path))
 {
  //检查是否有该文件夹,如果没有就创建,并给予最高权限
  mkdir("$path", 0700);
 }//END IF
 
 //允许上传的文件格式
 $tp = array("image/gif","image/pjpeg","image/png");
 //检查上传文件是否在允许上传的类型
 
 if(!in_array($_FILES["filename"]["type"],$tp))
 {
  echo "格式不对";
  exit;
 }//END IF
 
 if($_FILES["filename"]["name"])
 {
  $file1=$_FILES["filename"]["name"];
  $file2 = $path.time().$file1;
  $flag=1;
 }//END IF
 
 if($flag) $result=move_uploaded_file($_FILES["filename"]["tmp_name"],$file2);
 
 //特别注意这里传递给move_uploaded_file的第一个参数为上传到服务器上的临时文件
 if($result)
 {
  //echo "上传成功!".$file2;
  echo "";
  
  echo("");
  echo "图片名称:".$file2;
 }//END IF

} else {
 echo "file is null!";
}
?>

调用示例文件:

testUpload.htm

 代码如下 复制代码

"http://www.w3.org/TR/html4/loose.dtd">



上传图片
 



 
   
 

  
请选择上传的图片
       
   

  

 


此程序不足之处分析

上传预览功能

 代码如下 复制代码

  function $(id){
     return document.getElementById(id);
    }
    function ok(){
 $("logoimg").src = $("filename").value;
    }

这段代码其实就是一个鸡肋了,在有一些浏览器下是不兼容了,但不会影响到图片上传功能。

程序安全

对于在上传处我们并未进行数据大小限制与程序上传文件类型进行限制,这样可以利用它来上传一些像php文件,这样你的网站就不安全了哦。

热门栏目