快速導航: SEO培訓 | SEO教程 | PHP培訓 | PHP教程 | 網頁設計培訓 | 辦公自動化培訓
收藏本站 | 設為首頁
當前位置:網站首頁 > PHP教程 > php > php

非常實用的PHP文件上傳類

時間:2012-10-14 23:24 | 來源:德曼PHP | 作者:德曼PHP培訓組
非常實用的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());
}
 
//請繼續完善,水印,等等
 }
 
 
?>

關鍵詞:非常實用的PHP文件上傳類
分享到:
首頁 | 關于我們 | 課程設置 | 學前須知 | SEO培訓 | 網頁設計培訓 | PHP+MYSQL培訓 | 辦公自動化培訓 | 付款方式 | 聯系我們 CopyRight © 2005-2012 德曼(合肥SEO培訓)學校 — www.294028.tw, All Rights Reserved.
合肥德曼電腦培訓中心所有內容版權所有,未經許可請勿轉載。合肥seo培訓機構網站備案:皖ICP備09018273號
德曼(合肥做seo的公司)專注于【合肥SEO培訓 | 合肥php培訓 | 合肥網頁設計培訓】職業技能培訓!
cba比分结果今天 招财鞭炮游戏平台下载 湖北11选5跨度走势图带连线 极速时时彩稳赢方法 赛马会王中王透码香港 重庆时时彩开奖网点在那儿 108娱乐腾讯分分彩计划 湖南快乐十分之动物总动员开奖直播现场 澳洲幸运5开奖记录查询 11选5技巧集锦 山西快乐十分历史开奖 3u真人百家乐赌博 浙江快乐12开奖结果电脑版 平肖平码公式规律 广东快乐10分时时彩 体彩6+1开奖结果 中国彩吧