PHP上传图片类


php上传图片类

?
<?php
class ieb_upload
{
     var $FormName ; //文件域名称
     var $Directroy ; //上传至目录
     var $MaxSize ; //最大上传大小
     var $CanUpload ; //是否可以上传
     var $doUpFile ; //上传的文件名
     var $sm_File ; //缩略图名称
     var $Error ; //错误参数
     
     function ieb_upload( $formName = '' , $dirPath = '' , $maxSize = 2097152) // (1024*2)*1024=2097152 就是 2M
     {
         global $FormName , $Directroy , $MaxSize , $CanUpload , $Error , $doUpFile , $sm_File ;
         // 初始化各种参数
         $FormName = $formName ;
         $MaxSize = $maxSize ;
         $CanUpload = true;
         $doUpFile = '' ;
         $sm_File = '' ;
         $Error = 0;
 
         if ( $formName == '' )
         {
             $CanUpload = false;
             $Error = 1;
             break ;
         }
 
         if ( $dirPath == '' )
             $Directroy = $dirPath ;
         else
             $Directroy = $dirPath . '/' ;
     }
     // 检查文件是否存在
     function scanFile()
     {
         global $FormName , $Error , $CanUpload ;
 
         if ( $CanUpload )
         {
             $scan = is_readable ( $_FILES [ $FormName ][ 'name' ]);
 
             if ( $scan )
                 $Error = 2;
 
             return $scan ;
         }
     }
     // 获取文件大小
     function getSize( $format = 'B' )
     {
         global $FormName , $Error , $CanUpload ;
 
         if ( $CanUpload )
         {
             if ( $_FILES [ $FormName ][ 'size' ] == 0)
             {
                 $Error = 3;
                 $CanUpload = false;
             }
 
             switch ( $format )
             {
                 case 'B' :
                     return $_FILES [ $FormName ][ 'size' ];
                     break ;
 
                 case 'K' :
                     return ( $_FILES [ $FormName ][ 'size' ]) / (1024);
                     break ;
 
                 case 'M' :
                     return ( $_FILES [ $FormName ][ 'size' ]) / (1024 * 1024);
                     break ;
             }
         }
     }
     // 获取文件类型
     function getExt()
     {
         global $FormName , $Error , $CanUpload ;
 
         if ( $CanUpload )
         {
             $ext = $_FILES [ $FormName ][ 'name' ];
             $extStr = explode ( '.' , $ext );
             $count = count ( $extStr )-1;
         }
         return $extStr [ $count ];
     }
     // 获取文件名称
     function getName()
     {
         global $FormName , $CanUpload ;
 
         if ( $CanUpload )
             return $_FILES [ $FormName ][ 'name' ];
     }
     // 新建文件名
     function newName()
     {
         global $CanUpload , $FormName ;
 
         if ( $CanUpload )
         {
             $FullName = $_FILES [ $FormName ][ 'name' ];
             $extStr = explode ( '.' , $FullName );
             $count = count ( $extStr )-1;
             $ext = $extStr [ $count ];
 
             return date ( 'YmdHis' ).rand(0, 9). '.' . $ext ;
         }
     }
     // 上传文件
     function upload( $fileName = '' )
     {
         global $FormName , $Directroy , $CanUpload , $Error , $doUpFile ;
 
         if ( $CanUpload )
         {
             if ( $_FILES [ $FormName ][ 'size' ] == 0)
             {
                 $Error = 3;
                 $CanUpload = false;
                 return $Error ;
                 break ;
             }
         }
 
         if ( $CanUpload )
         {
             if ( $fileName == '' )
                 $fileName = $_FILES [ $FormName ][ 'name' ];
 
             $doUpload = @ copy ( $_FILES [ $FormName ][ 'tmp_name' ], $Directroy . $fileName );
 
             if ( $doUpload )
             {
                 $doUpFile = $fileName ;
                 chmod ( $Directroy . $fileName , 0777);
                 return true;
             }
             else
             {
                 $Error = 4;
                 return $Error ;
             }
         }
     }
     // 创建图片缩略图
     function thumb( $dscChar = '' , $width = 150, $height = 113)
     {
         global $CanUpload , $Error , $Directroy , $doUpFile , $sm_File ;
 
         if ( $CanUpload && $doUpFile != '' )
         {
             $srcFile = $doUpFile ;
 
             if ( $dscChar == '' )
                 $dscChar = 'sm_' ;
 
             $dscFile = $Directroy . $dscChar . $srcFile ;
             $data = getimagesize ( $Directroy . $srcFile , & $info );
 
             switch ( $data [2])
             {
                 case 1:
                     $im = @imagecreatefromgif( $Directroy . $srcFile );
                     break ;
 
                 case 2:
                     $im = @imagecreatefromjpeg( $Directroy . $srcFile );
                     break ;
 
                 case 3:
                     $im = @imagecreatefrompng( $Directroy . $srcFile );
                     break ;
             }
 
             $srcW = imagesx( $im );
             $srcH = imagesy( $im );
             $ni = imagecreatetruecolor( $width , $height );
             imagecopyresized( $ni , $im , 0, 0, 0, 0, $width , $height , $srcW , $srcH );
             $cr = imagejpeg( $ni , $dscFile );
             chmod ( $dscFile , 0777);
 
             if ( $cr )
             {
                 $sm_File = $dscFile ;
                 return true;
             }
             else
             {
                 $Error = 5;
                 return $Error ;
             }
         }
     }
     // 显示错误参数
     function Err()
     {
         global $Error ;
         return $Error ;
     }
     // 上传后的文件名
     function UpFile()
     {
         global $doUpFile , $Error ;
         if ( $doUpFile != '' )
             return $doUpFile ;
         else
             $Error = 6;
     }
     // 上传文件的路径
     function filePath()
     {
         global $Directroy , $doUpFile , $Error ;
         if ( $doUpFile != '' )
             return $Directroy . $doUpFile ;
         else
             $Error = 6;
     }
     // 缩略图文件名称
     function thumbMap()
     {
         global $sm_File , $Error ;
         if ( $sm_File != '' )
             return $sm_File ;
         else
             $Error = 6;
     }
     // 显示版本信息
     function ieb_version()
     {
         return 'IEB_UPLOAD CLASS Ver 1.1' ;
     }
}
 
?>

使用方法

?
<?php
// 加载上传类
// include('ieb_upload.inc');
?>
 
<html>
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=gb2312" >
<title>无标题文档</title>
</head>
 
<body style= "font-size:12px;" >
<form action= "" method= "post" enctype= "multipart/form-data" name= "form1" >
<input type= "file" name= "file" >
<input type= "submit" name= "Submit" value= "提交" >
<input name= "scan" type= "hidden" id= "up" value= "true" >
</form><b /><br/>
 
<?php
if (isset( $_REQUEST [ 'scan' ]))
{
     // 声明一个上传类
     $upfos = new ieb_upload( 'file' , 'tmp' );
 
     /**
      * ieb_upload( FormName, [Directroy, MaxSize])
      *
      *   FormName: 文件域的名称,这个例子里用的是 file 。这个参数不能省略。
      *   Directroy: 保存上传文件的目录名称。此参数如果省略,文件将上传至该处理页目录中。
      *   MaxSize: 允许上传的文件的大小限制。默认值为 2097152 byte (即 2M)。
      */
     // 返回将要上传的文件名称
     echo '文件名称:' . $upfos ->getName(). '<br/>' ;
     // 返回文件后缀名
     echo '文件类型:' . $upfos ->getExt(). '<br/>' ;
     // 返回文件大小
     echo '文件大小:' . $upfos ->getSize(). '<br/>' ;
 
     /**
      * getSize( format )
      *
      *   format: 返回文件大小的单位值。默认值为 B。
      *   B 为 byte
      *   M 为 MB
      *   例:getSize( 'B' );
      */
     // 随机生成的文件名
     echo '随机文件:' . $upfos ->newName(). '<br/>' ;
 
     /**
      * 建议使用随机生成的文件名,以避免上传重名的文件。
      * 例如: $upfos->upload ( $upfos->newName());
      */
     // 上传文件
     $upfos ->upload();
 
     /**
      * upload( filename )
      *
      *   filename: 上传至服务器后生成这个文件名。默认值为原来的文件名。
      */
     // 生成缩略图
     $upfos ->thumb();
 
     /**
      * thumb( [key, width, height] )
      *
      *   key: 生成缩略图的关键字。默认值为"sm_"。如果上传的文件名为 12345.jpg,缩略图的文件名就为 sm_12345.jpg。
      *   width: 缩略图的宽度。默认值为 150 。
      *   height: 缩略图的高度。默认值为 113。
      *   例:$upfos->thumb ( 'slt_', 200, 140);
      */
     // 返回生成的文件名
     echo '生成文件:' . $upfos ->UpFile(). '<br/>' ;
     // 返回文件的路径
     echo '文件路径:' . $upfos ->filePath(). '<br/>' ;
     // 返回缩略图的名称
     echo '缩略图片:' . $upfos ->thumbMap(). '<br/>' ;
     // 返回上传类版本信息
     echo '版本信息:' . $upfos ->ieb_version(). '<br/>' ;
}
?>
</body>
</html>

php上传图片类

?
<?php
class ieb_upload
{
     var $FormName ; //文件域名称
     var $Directroy ; //上传至目录
     var $MaxSize ; //最大上传大小
     var $CanUpload ; //是否可以上传
     var $doUpFile ; //上传的文件名
     var $sm_File ; //缩略图名称
     var $Error ; //错误参数
     
     function ieb_upload( $formName = '' , $dirPath = '' , $maxSize = 2097152) // (1024*2)*1024=2097152 就是 2M
     {
         global $FormName , $Directroy , $MaxSize , $CanUpload , $Error , $doUpFile , $sm_File ;
         // 初始化各种参数
         $FormName = $formName ;
         $MaxSize = $maxSize ;
         $CanUpload = true;
         $doUpFile = '' ;
         $sm_File = '' ;
         $Error = 0;
 
         if ( $formName == '' )
         {
             $CanUpload = false;
             $Error = 1;
             break ;
         }
 
         if ( $dirPath == '' )
             $Directroy = $dirPath ;
         else
             $Directroy = $dirPath . '/' ;
     }
     // 检查文件是否存在
     function scanFile()
     {
         global $FormName , $Error , $CanUpload ;
 
         if ( $CanUpload )
         {
             $scan = is_readable ( $_FILES [ $FormName ][ 'name' ]);
 
             if ( $scan )
                 $Error = 2;
 
             return $scan ;
         }
     }
     // 获取文件大小
     function getSize( $format = 'B' )
     {
         global $FormName , $Error , $CanUpload ;
 
         if ( $CanUpload )
         {
             if ( $_FILES [ $FormName ][ 'size' ] == 0)
             {
                 $Error = 3;
                 $CanUpload = false;
             }
 
             switch ( $format )
             {
                 case 'B' :
                     return $_FILES [ $FormName ][ 'size' ];
                     break ;
 
                 case 'K' :
                     return ( $_FILES [ $FormName ][ 'size' ]) / (1024);
                     break ;
 
                 case 'M' :
                     return ( $_FILES [ $FormName ][ 'size' ]) / (1024 * 1024);
                     break ;
             }
         }
     }
     // 获取文件类型
     function getExt()
     {
         global $FormName , $Error , $CanUpload ;
 
         if ( $CanUpload )
         {
             $ext = $_FILES [ $FormName ][ 'name' ];
             $extStr = explode ( '.' , $ext );
             $count = count ( $extStr )-1;
         }
         return $extStr [ $count ];
     }
     // 获取文件名称
     function getName()
     {
         global $FormName , $CanUpload ;
 
         if ( $CanUpload )
             return $_FILES [ $FormName ][ 'name' ];
     }
     // 新建文件名
     function newName()
     {
         global $CanUpload , $FormName ;
 
         if ( $CanUpload )
         {
             $FullName = $_FILES [ $FormName ][ 'name' ];
             $extStr = explode ( '.' , $FullName );
             $count = count ( $extStr )-1;
             $ext = $extStr [ $count ];
 
             return date ( 'YmdHis' ).rand(0, 9). '.' . $ext ;
         }
     }
     // 上传文件
     function upload( $fileName = '' )
     {
         global $FormName , $Directroy , $CanUpload , $Error , $doUpFile ;
 
         if ( $CanUpload )
         {
             if ( $_FILES [ $FormName ][ 'size' ] == 0)
             {
                 $Error = 3;
                 $CanUpload = false;
                 return $Error ;
                 break ;
             }
         }
 
         if ( $CanUpload )
         {
             if ( $fileName == '' )
                 $fileName = $_FILES [ $FormName ][ 'name' ];
 
             $doUpload = @ copy ( $_FILES [ $FormName ][ 'tmp_name' ], $Directroy . $fileName );
 
             if ( $doUpload )
             {
                 $doUpFile = $fileName ;
                 chmod ( $Directroy . $fileName , 0777);
                 return true;
             }
             else
             {
                 $Error = 4;
                 return $Error ;
             }
         }
     }
     // 创建图片缩略图
     function thumb( $dscChar = '' , $width = 150, $height = 113)
     {
         global $CanUpload , $Error , $Directroy , $doUpFile , $sm_File ;
 
         if ( $CanUpload && $doUpFile != '' )
         {
             $srcFile = $doUpFile ;
 
             if ( $dscChar == '' )
                 $dscChar = 'sm_' ;
 
             $dscFile = $Directroy . $dscChar . $srcFile ;
             $data = getimagesize ( $Directroy . $srcFile , & $info );
 
             switch ( $data [2])
             {
                 case 1:
                     $im = @imagecreatefromgif( $Directroy . $srcFile );
                     break ;
 
                 case 2:
                     $im = @imagecreatefromjpeg( $Directroy . $srcFile );
                     break ;
 
                 case 3:
                     $im = @imagecreatefrompng( $Directroy . $srcFile );
                     break ;
             }
 
             $srcW = imagesx( $im );
             $srcH = imagesy( $im );
             $ni = imagecreatetruecolor( $width , $height );
             imagecopyresized( $ni , $im , 0, 0, 0, 0, $width , $height , $srcW , $srcH );
             $cr = imagejpeg( $ni , $dscFile );
             chmod ( $dscFile , 0777);
 
             if ( $cr )
             {
                 $sm_File = $dscFile ;
                 return true;
             }
             else
             {
                 $Error = 5;
                 return $Error ;
             }
         }
     }
     // 显示错误参数
     function Err()
     {
         global $Error ;
         return $Error ;
     }
     // 上传后的文件名
     function UpFile()
     {
         global $doUpFile , $Error ;
         if ( $doUpFile != '' )
             return $doUpFile ;
         else
             $Error = 6;
     }
     // 上传文件的路径
     function filePath()
     {
         global $Directroy , $doUpFile , $Error ;
         if ( $doUpFile != '' )
             return $Directroy . $doUpFile ;
         else
             $Error = 6;
     }
     // 缩略图文件名称
     function thumbMap()
     {
         global $sm_File , $Error ;
         if ( $sm_File != '' )
             return $sm_File ;
         else
             $Error = 6;
     }
     // 显示版本信息
     function ieb_version()
     {
         return 'IEB_UPLOAD CLASS Ver 1.1' ;
     }
}
 
?>

使用方法

?
<?php
// 加载上传类
// include('ieb_upload.inc');
?>
 
<html>
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=gb2312" >
<title>无标题文档</title>
</head>
 
<body style= "font-size:12px;" >
<form action= "" method= "post" enctype= "multipart/form-data" name= "form1" >
<input type= "file" name= "file" >
<input type= "submit" name= "Submit" value= "提交" >
<input name= "scan" type= "hidden" id= "up" value= "true" >
</form><b /><br/>
 
<?php
if (isset( $_REQUEST [ 'scan' ]))
{
     // 声明一个上传类
     $upfos = new ieb_upload( 'file' , 'tmp' );
 
     /**
      * ieb_upload( FormName, [Directroy, MaxSize])
      *
      *   FormName: 文件域的名称,这个例子里用的是 file 。这个参数不能省略。
      *   Directroy: 保存上传文件的目录名称。此参数如果省略,文件将上传至该处理页目录中。
      *   MaxSize: 允许上传的文件的大小限制。默认值为 2097152 byte (即 2M)。
      */
     // 返回将要上传的文件名称
     echo '文件名称:' . $upfos ->getName(). '<br/>' ;
     // 返回文件后缀名
     echo '文件类型:' . $upfos ->getExt(). '<br/>' ;
     // 返回文件大小
     echo '文件大小:' . $upfos ->getSize(). '<br/>' ;
 
     /**
      * getSize( format )
      *
      *   format: 返回文件大小的单位值。默认值为 B。
      *   B 为 byte
      *   M 为 MB
      *   例:getSize( 'B' );
      */
     // 随机生成的文件名
     echo '随机文件:' . $upfos ->newName(). '<br/>' ;
 
     /**
      * 建议使用随机生成的文件名,以避免上传重名的文件。
      * 例如: $upfos->upload ( $upfos->newName());
      */
     // 上传文件
     $upfos ->upload();
 
     /**
      * upload( filename )
      *
      *   filename: 上传至服务器后生成这个文件名。默认值为原来的文件名。
      */
     // 生成缩略图
     $upfos ->thumb();
 
     /**
      * thumb( [key, width, height] )
      *
      *   key: 生成缩略图的关键字。默认值为"sm_"。如果上传的文件名为 12345.jpg,缩略图的文件名就为 sm_12345.jpg。
      *   width: 缩略图的宽度。默认值为 150 。
      *   height: 缩略图的高度。默认值为 113。
      *   例:$upfos->thumb ( 'slt_', 200, 140);
      */
     // 返回生成的文件名
     echo '生成文件:' . $upfos ->UpFile(). '<br/>' ;
     // 返回文件的路径
     echo '文件路径:' . $upfos ->filePath(). '<br/>' ;
     // 返回缩略图的名称
     echo '缩略图片:' . $upfos ->thumbMap(). '<br/>' ;
     // 返回上传类版本信息
     echo '版本信息:' . $upfos ->ieb_version(). '<br/>' ;
}
?>
</body>
</html>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM