主要功能:
文件上傳,獲取文件名,獲取文件大小,隨機生成新文件名,獲取文件類型,圖片生成縮略圖,返回縮略圖文件名,返回上傳後生成的文件的文件名,返回上傳後的文件路徑
***********************************************************************
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 'M':
return ($_FILES[$FormName]['size'])/(1024*1024);
}
}
}
//獲取文件類型
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';
}
}
?>
使用方法: