经典的PHP文件上传类

在课堂上给大家写了一个经典的文件上传类,灵活性还可以,大家可以参考使用,

 

上传文件:

 

<?php

/**

* author : PHP100.com

* date :2012-9-15 经典的文件上传类 

**/

 if(!empty($_POST['sub'])){

  include("up.class.php");

  

  $up = new up($_FILES['up']);

//参数,文件流必选,【指定目录,指定大小,指定文件名】可选

 }

 ?>

 

<form action="" method="post" enctype="multipart/form-data">

<input type="file" name="up">

<input type="submit" name="sub" value="上传">

</form>

 

上传类:

 

<?php

/**

* author : PHP100.com

* date :2012-9-15 经典的文件上传类 

**/

 class up {

    

public $f_size;//定义的文件大小

    public $f_sys;//接收文件属性

public $f_name;//自定义的文件名

public $f_dir;//自定义上传目录

 

//参数:文件流,目录,大小,文件名

function __construct($sys,$dir="",$size="1",$name=""){

 $this->f_size=$size*1000000;

 $this->f_sys=$sys;

 $this->f_name=$name;

 $this->f_dir=$dir;

 $this->f_mv();

}

 

//判断文件大小

   function is_size(){

      if($this->f_sys['size']<=$this->f_size){

   return true;

 }else{

   return false;

 }

   } //end

   

   //判断文件类型,返回扩展名

   function is_type(){ 

switch($this->f_sys['type']){

case "image/x-png": $ok=".png";

break;

case "image/png": $ok=".png";

break;

case "application/pdf": $ok=".pdf";

break;

case "image/pjpeg": $ok=".jpg";

break;

case "image/jpeg": $ok=".jpg";

break;

case "image/jpg": $ok=".jpg";

break;

default: $ok=false;

break;

}

return $ok;

     }

   

   //终止函数

   function f_over($n){

     echo $n;

exit();

   }

   

   //判断文件夹是否存在,并创建

   function is_dirs(){

    if($this->f_dir){

if(!is_dir($this->f_dir)){ 

  mkdir($this->f_dir);

}

return $this->f_dir;

}else{

if(!is_dir(date("Ymd"))){ 

  mkdir(date("Ymd"));

}

return date("Ymd");

}

   }

   

   

   //文件名的定义,不定义而使用时间戳

   function is_name(){

      if($this->f_name){

  $fn=$this->f_name.$this->is_type();

 }else{

  $fn=time().rand(100,999).$this->is_type();

 }

 return $this->is_dirs()."/".$fn;

   }

 

 

   //上传文件

   function f_mv(){

 $this->is_size()?null:$this->f_over("文件超过大小");

 $this->is_type()?null:$this->f_over("文件类型不正确");;

move_uploaded_file($this->f_sys['tmp_name'],$this->is_name());

}

 

//请继续完善,水印,等等

 }

 

 

?>

时间: 2024-10-30 06:09:06

经典的PHP文件上传类的相关文章

一个经典的PHP文件上传类分享_php实例

文件上传是项目开发中比较常见的功能,但文件上传的过程比较繁琐,只要是有文件上传的地方就需要编写这些复杂的代码.为了能在每次开发中降低功能的编写难度,也为了能节省开发时间,通常我们都会将这些反复使用的一段代码封装到一个类中.帮助开发者在以后的开发中,通过编写几条简单代码就可以实现复杂的文件上传功能.对于基础薄弱的读者,只要会使用本类即可,而对一些喜欢挑战的朋友,可以尝试去读懂它,并能开发一个属于自己的文件上传类. 一.需求分析 要球自定义文件上传类,即在使用非常简便的前提下,又可以完成以下几项功能

非常经典的PHP文件上传类分享_php技巧

文件上传是项目开发中比较常见的功能,但文件上传的过程比较繁琐,只要是有文件上传的地方就需要编写这些复杂的代码.为了能在每次开发中降低功能的编写难度,也为了能节省开发时间,通常我们都会将这些反复使用的一段代码封装到一个类中. <?php /** +----------------------------------------------------------------------------- * 文件上传类 +----------------------------------------

php经典文件上传类

php经典文件上传类 #********************************************************* #文件名称: inc_class.upload.php #功能描述: 上传文件类 #程序制作:青春一度(adleyliu) #联系qq  :14339095 2.0.a #注:转发时请保留此声明信息,这段声明不并会影响你的速度! #如有修改请将修改后的文件以邮件形式发送给作者一份,谢谢! # #********************************

无惧文件上传类 Version V1.2

<% '---------------------------------------------------------------------- '转发时请保留此声明信息,这段声明不并会影响你的速度! '版权声明:版权所有,源代码公开,各种用途均可免费使用,但是修改后必须把修改后的文件 '发送一份给作者.并且保留作者此版权信息 '********************************************************************** '----------

PHP中codeigniter文件上传类代码实例

  codeigniter文件上传类代码实例 文件上传类 CodeIgniter 的文件上传类允许文件被上传.您可以设置指定上传某类型的文件及指定大小的文件. 处理过程 上传文件普遍的过程: 一个上传文件用的表单,允许用户选择一个文件并上传它. 当这个表单被提交,该文件被上传到指定的目录. 同时,该文件将被验证是否符合您设定的要求. 一旦文件上传成功,还要返回一个上传成功的确认窗口. 这里有一个简短的教程来显示这个过程.此后你将会找到相关的参考信息. 创建上传表单 运用文本编辑器创建一个名为up

ASP.NET实现的简单易用文件上传类

  这篇文章主要介绍了ASP.NET实现的简单易用文件上传类,本文给出实现代码和使用方法示例,需要的朋友可以参考下 调用方法: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 UploadFile uf = new UploadFile();   /*可选参数*/ uf.SetIsUseOldFileName(true);//是否使用原始文件名作为新文件的文件名(默认:true),true原始文件名,false系统生成新文件名

PHP多文件上传类

  PHP多文件上传类 /* 多文件上传类 修改:Linvo 2008-2-15 */ class more_file_upload{ const FILE_PATH='../upfileclass/uploadfile/'; var file_type; var file_type_array; var file_type_real_array; var file_type_string; var file_name; var file_size; var file_tmp_name; var

功能强大的php文件上传类_php技巧

本文实例为大家分享了php文件上传类,功能很强大,供大家参考,具体内容如下 <?PHP /* *文件上传类 **/ class upfile{ private $file_size;//上传源文件大小 private $file_tem;//上传文件临时储存名 private $file_name;//上传文件名 private $file_type;//上传文件类型 private $file_max_size=2000000;//允许文件上传最大 private $file_folder=&qu

PHP多文件上传类实例_php技巧

本文实例讲述了PHP多文件上传类.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php /* PHP多文件上传类 修改:Linvo 2008-2-15 */ class more_file_upload{     const FILE_PATH='../upfileclass/uploadfile/';     var $file_type;     var $file_type_array;     var $file_type_real_array;     var $file