国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

自己寫的一個PHP上傳類

2024-05-04 23:04:27
字體:
來源:轉載
供稿:網友

主要功能:
文件上傳,獲取文件名,獲取文件大小,隨機生成新文件名,獲取文件類型,圖片生成縮略圖,返回縮略圖文件名,返回上傳后生成的文件的文件名,返回上傳后的文件路徑

 

//----------------------------------------------------------------------
//轉發時請保留此聲明信息,這段聲明不并會影響你的速度!
//*******************   ieb上傳類 v1.1  *********************************
//作者:盧韋華
//網站:http://www.iebsoft.cn
//電子郵件:[email protected]
//版權聲明:版權所有,源代碼公開,各種用途均可免費使用,但是修改后必須把修改后的文件
//發送一份給作者.
//***********************************************************************
//

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'];
   }
       
   
$[email protected]($_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 >
<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','upload');

/* 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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊宁县| 香港 | 方山县| 景泰县| 元朗区| 阜新市| 清水河县| 锦屏县| 疏勒县| 衢州市| 格尔木市| 秦皇岛市| 呼伦贝尔市| 九江市| 杭州市| 饶河县| 长沙市| 林芝县| 姚安县| 赣州市| 阜宁县| 山丹县| 大洼县| 昌宁县| 井陉县| 无为县| 施秉县| 万源市| 修武县| 阿瓦提县| 天峻县| 扶沟县| 开封县| 竹山县| 龙岩市| 晋州市| 杭锦后旗| 宿州市| 盐城市| 麻江县| 揭阳市|