php 文件图片上传类程序

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>php教程 文件图片上传类程序</title>
</head>

<body>

<form enctype="multipart/form-data" action="upx.php" method="post">
 <input name="swfile" type="file">
 <input type="submit" value="上传">
</form>
</body>
</html>
upx.php文件
<?php
//上传操作
require_once './libs/uploadx.php';
$upx = new uploadx();
$upx->uploadx_form = 'swfile';
$upx->uploadx_save = "upload";
$upx->uploadx_size = "1024";
$upx->uploadx_name = time();
$upx->file();
print_r($upx->file);

?>
uploadx.php类文件
<?php
/*

使用方法:

html表单页
-------------------------------------------------------------------------
<form enctype="multipart/form-data" action="upload.php" method="post">
 <input name="swfile" type="file">
 <input type="submit" value="上传">
</form>
-------------------------------------------------------------------------

upload.php处理页
-------------------------------------------------------------------------
<?php
require_once './uploadx.php';
$upx = new uploadx();
$upx->uploadx_form = 'swfile';              //表单控件名称(表单上传控件的名称<input name="swfile" type="file" />)
$upx->uploadx_save = "temp";                //保存文件目录(上传文件保存目录可以是相对路径也可以是绝对路径)
$upx->uploadx_type = 'jpg|gif|png|swf';    //允许上传类型(根据后缀限制上传类型,每个后缀用"|"隔开) 
$upx->uploadx_size = "1024";                //允许上传大小(单位是kb。例:1024=1024kb)
$upx->uploadx_name = time();                //上传后文件名(可自定义。例:date("y-m-d",time()))

if($upx->file()){
  echo "上传成功<br />";
  echo "名称->".$upx->file['name']."<br />";
  echo "路径->".$upx->file['path']."<br />";
  echo "大小->".$upx->file['size']."<br />";
  echo "类型->".$upx->file['type']."<br />";
  echo "时间->".$upx->file['time']."<br />";
  echo "结果->".$upx->file['info']."<br />";
 
}else{
  echo $upx->file['info'];
}

 

-------------------------------------------------------------------------
*/
class uploadx {

       
       public $uploadx_form; //表单控件名称
       public $uploadx_save; //保存文件目录
       public $uploadx_type; //允许上传类型
       public $uploadx_size; //允许上传大小
       public $uploadx_name; //上传后文件名
      
       function __construct(){//初始化函数
          $this->uploadx_form = 'attach';
          $this->uploadx_save = 'temp';
          $this->uploadx_type = 'jpg|gif|png|swf|flv|rar|7z|zip|doc|docx|ppt|pptx|xls|xlsx|txt|pdf|wav|mp3|wma|rm|rmvb|wmv';        
          $this->uploadx_size = '1024';
          $this->uploadx_info = false;
       }
      
      function mkdirs($path , $mode = 0777){
          $rootdir = '';
          if(substr($path,0,1)=='/') $rootdir = $_server['document_root'];         
          $path = $rootdir . $path;
          if(!is_dir($path)){
              $this->mkdirs(dirname($path),$mode);
              mkdir($path,$mode);
          }
          return true;
      }

 

     function file(){
              if(!isset($_files[$this->uploadx_form])){
                  $this->file = array('file'=>false,'info' => '上传错误!请检查表单上传控件名称['.$this->uploadx_form.']是否正确!');
                  return false;
              }
             
              switch($_files[$this->uploadx_form]['error']){
                
                 case 1:
                  $this->file = array('file'=>false,'info' => '指定上传的文件大小超出服务器限制!');
                  return false;
                 break; 
                
                 case 2:
                  $this->file = array('file'=>false,'info' => '指定上传的文件大小超出表单限制!');
                  return false;
                 break; 
                                            
                 case 3:
                  $this->file = array('file'=>false,'info' => '只有部份文件被上传,文件不完整!');
                  return false;
                 break; 
                                                     
                 case 4:
                  $this->file = array('file'=>false,'info' => '您没有选择上传任何文件!');
                  return false;
              }
             
              $postfix = pathinfo($_files[$this->uploadx_form]['name'], pathinfo_extension); 
              if(stripos($this->uploadx_type,$postfix)===false){
                $this->file = array('file'=>false,'info' => '指定上传的文件类型超出限制,允许上传文件类型:'.$this->uploadx_type);
                return false;
               
              }
         
              if(round($_files[$this->uploadx_form]['size']/1024)>$this->uploadx_size){
                $this->file = array('file'=>false,'info' => '指定上传的文件超出大小限制,文件上传限制范围:'.$this->uploadx_size.'kb');
                return false; 
              }               
           
              if($this->mkdirs($this->uploadx_save)){             
                $this->uploadx_name = isset($this->uploadx_name) ? $this->uploadx_name.'.'.$postfix : $_files[$this->uploadx_form]['name'];
                if(!@move_uploaded_file($_files[$this->uploadx_form]['tmp_name'],$this->uploadx_save.'/'.$this->uploadx_name)){
                  $this->file = array('file'=>false,'info' => '上传文件保存过程中出现错误,请检查路径或目录权限.');
                  return false;
                }
              }else{
                 $this->file = array('file'=>false,'info' => '服务器目录不存在,自动创建目录失败,请检查是否有权限!');
                  return false;
              }                
             
              @chmod($this->uploadx_save.'/'.$this->uploadx_name,0777);    
              $this->file = array(
                    'file' => true,
                    'name' => $this->uploadx_name,
                    'path' => $this->uploadx_save.'/'.$this->uploadx_name,
                    'size' => $_files[$this->uploadx_form]['size'],
                    'type' => $postfix,
                    'time' => time(),
                    'info' => '上传成功!'
              );               
              return true;
                        
     }

}

时间: 2025-01-21 08:51:36

php 文件图片上传类程序的相关文章

php封装的单文件(图片)上传类完整实例_php技巧

本文实例讲述了php封装的单文件(图片)上传类.分享给大家供大家参考,具体如下: <?php //封装php中的单文件(图片)上传类 /* //参数1:$file 文件数组 5个属性值 name,type,size,tmp,error //参数2:文件保存的路径$path //参数3:文件上传允许的类型 $allow数组 $allow=array('image/jpeg','image/jpg','image/png','image/gif') //参数4: 允许文件上传的最大大小 $size

php文件上传(强大文件图片上传类)

/*  * created on 2010-6-21  *  * the class for image to upload  *  * made by s71ence  *  * @$user_id  * @$max_file_size  * @$max_image_side  * @$destination_folder  *  * return:  * @$_cookie['img_path']  * @$img_unfind  * @$img_type  * @$mkdir_warry

php 图片上传类代码

php 图片上传类代码,功能也比较全,大家根据需要选择. 先来个简单的: <? //http://www.jzxue.com class upLoad{ public $length; //限定文件大小 public $file; //判断此类是用于图片上传还是文件上传 public $fileName; //文件名 public $fileTemp; //上传临时文件 public $fileSize; //上传文件大小 public $error; //上传文件是否有错,php4没有 pub

asp.net文件图片上传带预览效果

asp教程.net文件图片上传带预览效果 图片预览主要包括两个部分:从file表单控件获取图像数据,根据数据显示预览图像. 程序的file和img属性就是用来保存file控件和显示预览图像的容器的,而img还必须是img元素. 程序有以下几种预览方式: simple模式:直接从file的value获取图片路径来显示预览,适用于ie6: filter模式:通过selection获取file的图片路径,再用滤镜来显示预览,适用于ie7/8: domfile模式:调用file的getAsDataURL

php 图片上传类代码_php实例

先来个简单的: 复制代码 代码如下: <? //http://www.jb51.net class upLoad{ public $length; //限定文件大小 public $file; //判断此类是用于图片上传还是文件上传 public $fileName; //文件名 public $fileTemp; //上传临时文件 public $fileSize; //上传文件大小 public $error; //上传文件是否有错,php4没有 public $fileType; //上传

PHP实现多图片上传类实例

  这篇文章主要介绍了PHP实现多图片上传类实例,该类文件注释详细功能实用且具有一定的扩展性,需要的朋友可以参考下 本文所述为一个实用的PHP多图片文件上传类,其支持gif.jpg.jpeg.pjpeg.png格式的多图片上传功能,类中还可限制图片类型.上传图片的大小.设置上传目录.一些提交判断等功能.此外该类并不局限于图片的上传,也可以上传TXT/RAR等文件类型,只是需要对代码进行一下修改,感兴趣的读者可以自己尝试一下. php多图片上传类完整功能代码如下: class more_file_

PHP实现多图片上传类实例_php技巧

本文所述为一个实用的PHP多图片文件上传类,其支持gif.jpg.jpeg.pjpeg.png格式的多图片上传功能,类中还可限制图片类型.上传图片的大小.设置上传目录.一些提交判断等功能.此外该类并不局限于图片的上传,也可以上传TXT/RAR等文件类型,只是需要对代码进行一下修改,感兴趣的读者可以自己尝试一下. php多图片上传类完整功能代码如下: <?php class more_file_upload{ const FILE_PATH = '/uploadfile/'; //默认文件上传的目

php版阿里云OSS图片上传类详解_php技巧

本文实例讲述了php版阿里云OSS图片上传类.分享给大家供大家参考,具体如下: 1.阿里云基本函数 /** * 把本地变量的内容到文件 * 简单上传,上传指定变量的内存值作为object的内容 */ public function putObject($imgPath,$object) { $content = file_get_contents($imgPath); // 把当前文件的内容获取到传入文件中 $options = array(); try { $this->ossClient->

PHP手写的图片上传类

一个新手写的 PHP 图片上传类,基本的功能已经满足,可以返回客户端文件名,文件大小,临时文件夹路径,允许上传的文件类型,文件后缀,新路径,新文件名,图片宽度,图片高度,自定义上传成功消息,显示上传的状态..是否上传成功的信息等等,外加构造函数,对于新手学习来说,已经足够了,值得研究学习.. 在使用时,和其它PHP类一样,先要进行初始化对象,在前台调用函数方法即可,这里不再详细说明,这个类的研究价值主要在于代码的规范与实用,并没有大量繁琐的代码,都是一些简单的上传函数整合成的一个PHP图片上传类