亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php文件上傳程序

2024-09-04 11:44:43
字體:
來源:轉載
供稿:網友

文章提供一款完整理的php文件上傳程序實例代碼,他可以上傳圖片并且把圖片保存到1:按天存入目錄 2:按月存入目錄 ,還可以設置上傳圖片生成水印.

  1. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. <head> 
  4. <meta http-equiv="content-type" content="text/html; charset=gb2312" /> 
  5. <title>上傳文件程序</title> 
  6. <style type="text/css"
  7. *{ 
  8.  font-size:12px; 
  9.  margin:0; padding:0; 
  10. a:link,a:visited{ 
  11.  text-decoration:none; 
  12.  color: #393 
  13. a:hover{ 
  14.  text-decoration:underline; 
  15.  color:#0033cc 
  16. input.text{ 
  17.  border:1px solid #ccc;height:22px;line-height:22px;padding-left:5px;background:#fff;width:274px; 
  18. input.button{ 
  19.  background:#fff url(images/button.png);border:1px solid #9ea9c5;padding:2px 2px 0px 2px;margin-left:4px; margin-right:4px; 
  20. </style> 
  21. <script language=javascript> 
  22. function check()  
  23.  var strfilename=document.myform.upfile.value; 
  24.  if (strfilename==""
  25.  { 
  26.      alert("請選擇要上傳的文件"); 
  27.   document.myform.upfile.focus(); 
  28.      return false; 
  29.    } 
  30. </script> 
  31. </head> 
  32. <body> 
  33. <?php 
  34. /*********************** 
  35. 程序:上傳文件 
  36. 功能:上傳文件、縮略圖、加水印 
  37. ****************************/ 
  38. include("common/upfiles.class.php"); 
  39. $path="../upload/coolsite";    //文件上傳路徑 
  40. $mix="smallimg";     //縮略圖路徑(在upload下建立) 
  41. $mark="markimg";    //加水引的圖片存放路徑(在upload下建立) 
  42. $text = array("www.111cn.net");   //水印內容 
  43. $ouploadnew upfiles($path,$mix,$mark);   //實例化類文件 
  44. if(isset($_post['up'])){ 
  45.   
  46.  if($_post['urlid']=='1'){ //上傳圖片 參數urlid 1:上傳圖片  2:上傳其他文件.. 
  47.    
  48.   $oupload->tofile = true;  //開啟則只保存縮略圖或者水印圖,刪除原圖 
  49.   $photo = $oupload->upload("upfile"); //上傳的文件域 
  50.   $photourl = $oupload->fileurl."/".$photo
  51.   $newsmallimg = $oupload->smallimg($photo);  //縮略圖功能 
  52.   //$newmarkimg = $oupload->watermark($photo,$text); //水印功能 
  53.   //echo $newsmallimg;  //輸出縮略圖路徑 
  54.   //echo $newmark; //輸出水印圖路徑 
  55.   //echo "<img src='".$newsmallimg."' border='0'>"; //輸出縮略圖 
  56.   //echo "<img src='".$newmark."' border='0'>"; //輸出水印圖 
  57.  }else
  58.   $upfilename = $oupload->upload("upfile"); //上傳的文件域 
  59.  } 
  60.  $strjs = "<script language=javascript>n"
  61.  $strjs .= "parent.document.myform.upfile1.value='".$newsmallimg."'n"
  62.  $strjs .= "parent.document.myform.upfile2.value='".$photourl."'n"
  63.  $strjs .= "</script>n"
  64.  echo $strjs;  //把上次文件路徑附在upfile1、upfile2中去 
  65. }else
  66. ?> 
  67. <form action="upfile.php" method="post" enctype="multipart/form-data" name="myform" onsubmit="return check()"
  68. <input type="file" name="upfile" value="" class="text"><input type="submit" name="up" value="上傳" class="button"
  69. <input type="hidden" name="urlid" value="<?php echo $_get['urlid']?>"
  70. </form> 
  71. <?php }?> 
  72. </body> 
  73. </html> 
  74. <? 
  75. //upfiles.class.php 
  76. /*========================= 
  77. 上傳類 upfiles.class.php 
  78. ===========================*/ 
  79. class upfiles { 
  80.   /*========================= 
  81.    //基本參數設置 
  82.   ===========================*/ 
  83.         protected $annexfolder = "upload";  //附件存放點,默認為:upload 
  84.   protected $dirtype = 2;   //1:按天存入目錄 2:按月存入目錄  
  85.         protected $smallfolder = "smallimg";   //縮略圖存放路徑,注:必須是放在 $upload下的子目錄,默認為:smallimg 
  86.         protected $markfolder = "markimg";    //水印圖片存放路徑,注:必須是放在 $upload下的子目錄,默認為:markimg 
  87.         protected $upfiletype = "jpg gif png rar zip";   //上傳的類型,默認為:jpg gif png rar zip 
  88.         protected $upfilemax = 102400;   //上傳大小限制,單位是"kb",默認為:1024kb 
  89.         protected $fonttype = "common/equinoxstd.otf";   //水印字體庫 
  90.         protected $maxwidth = 800;   //圖片最大寬度  
  91.         protected $maxheight = 600;  //圖片最大高度 
  92.     
  93.   /*========================= 
  94.    //初始化上傳類 
  95.   ===========================*/ 
  96.         public function __construct($annexfolder,$smallfolder,$includefolder) { 
  97.     
  98.     switch($this->dirtype) 
  99.     { 
  100.      case 1: $attach_subdir = 'day_'.date('ymd'); break
  101.      case 2: $attach_subdir = 'month_'.date('ym'); break
  102.     } 
  103.     $attach_dir = $annexfolder.'/'.$attach_subdir
  104.     $attach_dir_small = $attach_dir.'/'.$smallfolder
  105.     $attach_dir_mark = $attach_dir.'/'.$includefolder;     
  106.      
  107.     $this->rootfolder = $annexfolder
  108.                 $this->annexfolder = $attach_dir
  109.                 $this->smallfolder = $attach_dir_small
  110.     $this->markfolder = $attach_dir_mark
  111.                 //$this->fonttype = $includefolder."/nasaliza.ttf"; 
  112.         } 
  113.   public function __get($fileurl){ 
  114.    $fileurl = $this->annexfolder; 
  115.    return $fileurl
  116.   } 
  117.   /*========================= 
  118.    //上傳文件 
  119.   ===========================*/ 
  120.         public function upload($inputname) { 
  121.     //檢查文件夾是否存在     
  122.     if(!file_exists($this->annexfolder)){ 
  123.      if(!file_exists($this->rootfolder)) @mkdir($this->rootfolder); 
  124.      if(!file_exists($this->annexfolder)) @mkdir($this->annexfolder); 
  125.      if(!file_exists($this->smallfolder)) @mkdir($this->smallfolder); 
  126.      if(!file_exists($this->markfolder)) @mkdir($this->markfolder); 
  127.     } 
  128.     if(!file_exists($this->smallfolder)){ 
  129.      @mkdir($this->smallfolder); 
  130.     }     
  131.     if(!file_exists($this->markfolder)){ 
  132.      @mkdir($this->markfolder); 
  133.     } 
  134.          
  135.     $this->uptype = $_files[$inputname]["type"]; 
  136.     $this->upname = $_files[$inputname]["name"]; 
  137.     $this->uptmp_name = $_files[$inputname]["tmp_name"]; 
  138.     $this->upsize = $_files[$inputname]["size"]; 
  139.     $this->uperror = $_files[$inputname]["error"]; 
  140.     if($this->uptype){ 
  141.      switch ($this->uptype)///檢查上傳的類型 
  142.      {      
  143.       case "image/pjpeg":      
  144.        $fileextname = "jpg";      
  145.        break
  146.       case "image/jpeg":      
  147.        $fileextname = "jpg";      
  148.        break;    
  149.       case "image/gif":      
  150.        $fileextname = "gif";      
  151.        break;      
  152.       case "image/x-png":      
  153.        $fileextname = "png";      
  154.        break;      
  155.       case "application/x-shockwave-flash":      
  156.        $fileextname = "swf";      
  157.        break;      
  158.       case "text/plain":      
  159.        $fileextname = "txt";      
  160.        break;      
  161.       case "application/msword":      
  162.        $fileextname = "doc";      
  163.        break;  
  164.       case "application/vnd.ms-excel":      
  165.        $fileextname = "xls";      
  166.        break;  
  167.       case "application/x-zip-compressed":      
  168.        $fileextname = "zip";      
  169.        break;  
  170.       case "audio/mpeg"
  171.        $fileextname = "mp3";      
  172.        break;  
  173.       case "audio/x-ms-wma"
  174.        $fileextname = "wma";      
  175.        break
  176.       case "application/pdf"
  177.        $fileextname = "pdf";      
  178.        break;  
  179.       default//如果不滿足上述類型,那么上傳文件被判斷為格式不正確!! 
  180.        //$fileextname  =strtolower(substr(strrchr(trim($this->upname), "."),1,4)); 
  181.        //$fileinfo=pathinfo($this->upname); 
  182.        //$fileextname=$fileinfo['extension']; 
  183.        $fileextname = "err"
  184.       } 
  185.      } 
  186.      if(@emptyempty($this->upname)) die("沒有上傳文件信息,請確認 <a href='javascript:history.go(-1);'>返回</a>"); 
  187.                  
  188.     //$name = explode(".",$this->upname);//將上傳前的文件以"."分開取得文件類型 
  189.                 //$filcount = count($name);//獲得截取的數量 
  190.                 //$filtype = $name[$filcount-1];//取得文件的類型 
  191.     $filtype = $fileextname
  192.                  
  193.     if(strpos($this->upfiletype,$filtype) === false){ 
  194.      die("上傳文件類型僅支持 ".$this->upfiletype." 不支持 ".$filtype ." <a href='javascript:history.go(-1);'>返回</a>"); 
  195.     } 
  196.     $filsize = $this->upsize; 
  197.                 if(round($filsize/1024) > ($this->upfilemax*1024)) { 
  198.                     die("上傳文件超過 ".$this->upfilemax."kb"); 
  199.                 } 
  200.                 $filename = "es_".date("ymdhis").".".$filtype;//寫入數據庫的文件名 
  201.                 $fileurl = $this->annexfolder."/".$filename;//上傳后的文件名稱 
  202.                 $upfileok = move_uploaded_file($this->uptmp_name,$fileurl); 
  203.                 if($this->uperror == 0 || $upfileok) { 
  204.                     echo "文件上傳成功 <a href='javascript:history.go(-1);'>繼續上傳</a>";   
  205.                 } else { 
  206.                  die("上傳文件失敗,請確認你的上傳文件不超過 $upfilemax kb 或上傳時間超時"); 
  207.                 } 
  208.     return $filename
  209.     //return $fileurl; 
  210.         } 
  211.         public function getinfo($photo) { 
  212.                 $photo = $this->annexfolder."/".$photo
  213.                 $imageinfo = getimagesize($photo); 
  214.                 $imginfo["width"] = $imageinfo[0]; 
  215.                 $imginfo["height"] = $imageinfo[1]; 
  216.                 $imginfo["type"] = $imageinfo[2]; 
  217.                 $imginfo["name"] = basename($photo); 
  218.                 return $imginfo
  219.         } 
  220.   /*========================= 
  221.    //縮略圖 
  222.   ===========================*/ 
  223.         public function smallimg($photo,$width=250,$height=192) { 
  224.                 $imginfo = $this->getinfo($photo); 
  225.                 $photo = $this->annexfolder."/".$photo;//獲得圖片源 
  226.                 $newname = substr($imginfo["name"],0,strrpos($imginfo["name"], "."))."_thumb.jpg";//新圖片名稱 
  227.                 if($imginfo["type"] == 1) { 
  228.                         $img = imagecreatefromgif($photo); 
  229.                 } elseif($imginfo["type"] == 2) { 
  230.                         $img = imagecreatefromjpeg($photo); 
  231.                 } elseif($imginfo["type"] == 3) { 
  232.                         $img = imagecreatefrompng($photo); 
  233.                 } else { 
  234.                         $img = ""
  235.                 } 
  236.                 if(emptyempty($img)) return false; 
  237.                 $width = ($width > $imginfo["width"]) ? $imginfo["width"] : $width;  
  238.                 $height = ($height > $imginfo["height"]) ? $imginfo["height"] : $height;  
  239.                 $srcw = $imginfo["width"];  
  240.                 $srch = $imginfo["height"];  
  241.                 if ($srcw * $width > $srch * $height) { 
  242.                         $height = round($srch * $width / $srcw); 
  243.                 } else { 
  244.                         $width = round($srcw * $height / $srch); 
  245.                 } 
  246.                 if (function_exists("imagecreatetruecolor")) { 
  247.                         $newimg = imagecreatetruecolor($width$height); 
  248.                         imagecopyresampled($newimg$img, 0, 0, 0, 0, $width$height$imginfo["width"], $imginfo["height"]); 
  249.                 } else { 
  250.                         $newimg = imagecreate($width$height); 
  251.                         imagecopyresized($newimg$img, 0, 0, 0, 0, $width$height$imginfo["width"], $imginfo["height"]); 
  252.                 } 
  253.                 if ($this->tofile) { 
  254.                         if (file_exists($this->smallfolder."/".$newname)){ 
  255.        @unlink($this->smallfolder."/".$newname); 
  256.       } 
  257.                         imagejpeg($newimg,$this->smallfolder."/".$newname); 
  258.                         return $this->smallfolder."/".$newname
  259.                 } else { 
  260.                         imagejpeg($newimg); 
  261.                 } 
  262.                 imagedestroy($newimg); 
  263.                 imagedestroy($img); 
  264.                 return $newname
  265.         } 
  266.   /*========================= 
  267.    //加水印 
  268.   ===========================*/ 
  269.         public function watermark($photo,$text) {  
  270.                 $imginfo = $this->getinfo($photo); 
  271.                 $photo = $this->annexfolder."/".$photo
  272.                 $newname = substr($imginfo["name"], 0, strrpos($imginfo["name"], ".")) . "_mark.jpg"
  273.     //$newname = substr($imginfo["name"], 0, strrpos($imginfo["name"], ".")) . ".jpg"; 
  274.                 switch ($imginfo["type"]) { 
  275.                         case 1: 
  276.                                 $img = imagecreatefromgif($photo); 
  277.                         break
  278.                         case 2: 
  279.                                 $img = imagecreatefromjpeg($photo); 
  280.                         break
  281.                         case 3: 
  282.                                 $img = imagecreatefrompng($photo); 
  283.                         break
  284.                         default
  285.                                 return false; 
  286.                 } 
  287.                 if (emptyempty($img)) return false; 
  288.                 $width = ($this->maxwidth > $imginfo["width"]) ? $imginfo["width"] : $this->maxwidth;  
  289.                 $height = ($this->maxheight > $imginfo["height"]) ? $imginfo["height"] : $this->maxheight;  
  290.                 $srcw = $imginfo["width"];  
  291.                 $srch = $imginfo["height"];  
  292.                 if ($srcw * $width > $srch * $height) { 
  293.                         $height = round($srch * $width / $srcw); 
  294.                 } else { 
  295.                         $width = round($srcw * $height / $srch); 
  296.                 } 
  297.                 if (function_exists("imagecreatetruecolor")) { 
  298.                         $newimg = imagecreatetruecolor($width$height); 
  299.                         imagecopyresampled($newimg$img, 0, 0, 0, 0, $width$height$imginfo["width"], $imginfo["height"]); 
  300.                 } else { 
  301.                         $newimg = imagecreate($width$height); 
  302.                         imagecopyresized($newimg$img, 0, 0, 0, 0, $width$height$imginfo["width"], $imginfo["height"]); 
  303.                 } 
  304.                  
  305.                 $white = imagecolorallocate($newimg, 255, 255, 255); 
  306.                 $black = imagecolorallocate($newimg, 0, 0, 0); 
  307.                 $alpha = imagecolorallocatealpha($newimg, 230, 230, 230, 80); 
  308.                 //imagefilledrectangle($newimg, 0, $height-26, $width, $height, $alpha); 
  309.                 //imagefilledrectangle($newimg, 13, $height-20, 15, $height-7, $black); 
  310.                 imagettftext($newimg, 14, 0, 20, $height-14, $white$this->fonttype, $text[0]); 
  311.                 imagettftext($newimg, 14, 0, 20, $height-6, $white$this->fonttype, $text[1]); 
  312.                 if($this->tofile) { 
  313.                         if (file_exists($this->markfolder."/".$newname)){ 
  314.        @unlink($this->markfolder."/".$newname); 
  315.       } 
  316.                         imagejpeg($newimg,$this->markfolder."/".$newname); 
  317.        
  318.       if(file_exists($this->annexfolder."/".$newname)){ 
  319.        unlink($this->annexfolder."/".$newname); 
  320.       } 
  321.        
  322.                         return $this->markfolder."/".$newname
  323.                 } else { 
  324.                         imagejpeg($newimg); 
  325.                 } 
  326.                 imagedestroy($newimg); 
  327.                 imagedestroy($img); 
  328.                 return $newname
  329.         } 
  330. }?> 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人精品一区| 亚洲免费电影一区| 久久精品小视频| 丝袜一区二区三区| 精品动漫一区二区| 国产一区视频在线| 精品偷拍各种wc美女嘘嘘| 正在播放欧美视频| 国产成人精品网站| 亚洲精品成a人在线观看| 一区二区三区无码高清视频| 国产中文日韩欧美| 成人免费激情视频| 亚洲视频视频在线| 亚洲成色777777女色窝| 热草久综合在线| 久久久久久亚洲| 亚洲日韩欧美视频一区| 亚洲香蕉在线观看| 色狠狠久久aa北条麻妃| 久久人91精品久久久久久不卡| 久久综合伊人77777| 庆余年2免费日韩剧观看大牛| 欧美疯狂做受xxxx高潮| 欧美日韩综合视频| 欧美亚洲成人精品| 国产精品久久久久久久美男| 久久国产天堂福利天堂| 91精品国产九九九久久久亚洲| 亚洲成年网站在线观看| 久久久久久亚洲精品不卡| 日韩一级裸体免费视频| 日韩中文字幕在线视频播放| 亚洲欧美制服第一页| 欧美日韩精品在线视频| 欧美亚洲在线播放| 国产精品美女免费看| 伊人亚洲福利一区二区三区| 日韩av在线看| 欧美寡妇偷汉性猛交| 精品久久香蕉国产线看观看gif| 不卡av电影院| 这里只有精品视频在线| 亚洲色图在线观看| 国产91成人在在线播放| 欧美日韩亚洲天堂| 欧美最顶级丰满的aⅴ艳星| 国产精品青草久久久久福利99| 大胆人体色综合| 欧美丝袜一区二区三区| 色妞欧美日韩在线| 97超碰蝌蚪网人人做人人爽| 日本高清视频一区| 欧美性猛交丰臀xxxxx网站| 亚洲成人激情图| 日韩av在线免费播放| 国产精品第七影院| 少妇激情综合网| 国产精品久久久亚洲| 国产精品三级久久久久久电影| 日韩精品在线观看一区| 影音先锋欧美在线资源| 日韩精品免费视频| 久久精品国产一区二区电影| 国产精品羞羞答答| 在线播放国产一区二区三区| 欧美激情国产高清| 国产亚洲成精品久久| 国产专区欧美专区| 国产精品揄拍一区二区| 欧美中文字幕第一页| 成人福利视频网| 国产精品久久久久久久电影| 国内精久久久久久久久久人| 日韩精品黄色网| 在线观看国产欧美| 久久影视电视剧凤归四时歌| 久久男人av资源网站| 久久99精品国产99久久6尤物| 欧美在线一区二区三区四| 亚洲精品久久久久中文字幕欢迎你| 欧美中文字幕在线| 亚洲国产97在线精品一区| 97精品一区二区视频在线观看| 九九久久久久久久久激情| 久久精品久久久久久| 亚洲影视九九影院在线观看| 在线观看视频99| 一区二区在线视频| 成人黄色片在线| 欧美一区二区三区精品电影| 日韩精品视频三区| 亚洲天堂影视av| 国产精品国产福利国产秒拍| 亚洲欧美色图片| 欧美中文在线字幕| 国产精品久久久999| 亚洲人a成www在线影院| 日韩精品一区二区三区第95| 日韩av电影在线播放| 国产成人aa精品一区在线播放| 中文字幕av一区二区三区谷原希美| 色狠狠av一区二区三区香蕉蜜桃| 久久久久久久av| 欧美亚洲免费电影| 国产精品久久久久久久久久小说| 亚洲精品一区二三区不卡| 欧美成人免费播放| 98视频在线噜噜噜国产| 色琪琪综合男人的天堂aⅴ视频| 亚洲美女又黄又爽在线观看| 国产精品麻豆va在线播放| 久久伊人精品一区二区三区| 成人网在线视频| 久热精品视频在线免费观看| 一区二区三区视频免费| 成人97在线观看视频| 欧美激情精品久久久久久黑人| 精品亚洲aⅴ在线观看| 中文字幕亚洲情99在线| 亚洲精品久久久久久久久久久| 国产精品综合网站| 欧美日韩国产中字| 国产suv精品一区二区三区88区| 日韩av网址在线| 精品福利樱桃av导航| 久久久精品电影| 日韩在线视频导航| 国产精品视频999| 欧美老少做受xxxx高潮| 中文字幕日韩精品在线| 欧美成人免费在线视频| 国产精品久久久久免费a∨大胸| 欧美午夜丰满在线18影院| 久久精品人人爽| 这里只有精品视频在线| 国产日韩中文在线| 日韩影视在线观看| 精品日韩视频在线观看| 国产日韩欧美在线观看| 懂色av中文一区二区三区天美| 亚洲一二三在线| 中文字幕精品在线视频| 136fldh精品导航福利| 亚洲石原莉奈一区二区在线观看| 国产精品亚洲美女av网站| 国产成人福利视频| 欧美福利在线观看| 精品福利视频导航| 91色p视频在线| 亚洲第一区在线观看| 欧美自拍视频在线观看| 国产精品久久久久久五月尺| 成人国产精品色哟哟| 一区二区三区天堂av| 欧美日韩综合视频网址| 久久久天堂国产精品女人| 日韩精品视频在线播放| 国产精品一区二区三区成人| 精品女厕一区二区三区| 日韩精品在线观看网站| 狠狠躁夜夜躁人人爽天天天天97| 欧美一区二三区| 国产精品视频久久|