国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > PHP > 正文

PHP圖片上傳、水印及縮略圖類

2020-03-22 20:13:02
字體:
來源:轉載
供稿:網友
  • 一個非常好的PHP圖片上傳類,支持生成縮略圖,支持添加水印。

    開始第一步:
    創建文件夾,布局:
    annex:附件(該目錄下存放上傳的原圖片)
    |— smallimg:存放縮略圖片
    |— mark:存放水印圖片
    include:存放類文件,字體(本html' target='_blank'>程序代碼使用的是:arial.ttf)
    |— upfile.php:集成簡單上傳,生成縮略圖及水印的類文件信息
    |— arial.ttf:字體文件
    upload.php:測試文件

    第二步:PHP上傳類
    upfile.php

    <?phpclass UPImages {        var $annexFolder = "annex";//附件存放點,默認為:annex        var $smallFolder = "smallimg";//縮略圖存放路徑,注:必須是放在 $annexFolder下的子目錄,默認為:smallimg        var $markFolder = "mark";//水印圖片存放處        var $upFileType = "jpg gif png";//上傳的類型,默認為:jpg gif png rar zip        var $upFileMax = 1024;//上傳大小限制,單位是“KB”,默認為:1024KB        var $fontType;//字體        var $maxWidth = 500; //圖片最大寬度        var $maxHeight = 600; //圖片最大高度        function UPImages($annexFolder,$smallFolder,$includeFolder) {                $this->annexFolder = $annexFolder;                $this->smallFolder = $smallFolder;                $this->fontType = $includeFolder."/arial.ttf";        }        function upLoad($inputName) {                $imageName = time();//設定當前時間為圖片名稱                if(@empty($_FILES[$inputName]["name"])) die(error("沒有上傳圖片信息,請確認"));                $name = explode(".",$_FILES[$inputName]["name"]);//將上傳前的文件以“.”分開取得文件類型                $imgCount = count($name);//獲得截取的數量                $imgType = $name[$imgCount-1];//取得文件的類型                if(strpos($this->upFileType,$imgType) === false) die(error("上傳文件類型僅支持 ".$this->upFileType." 不支持 ".$imgType));                $photo = $imageName.".".$imgType;//寫入數據庫的文件名                $uploadFile = $this->annexFolder."/".$photo;//上傳后的文件名稱                $upFileok = move_uploaded_file($_FILES[$inputName]["tmp_name"],$uploadFile);                if($upFileok) {                        $imgSize = $_FILES[$inputName]["size"];                        $kSize = round($imgSize/1024);                        if($kSize > ($this->upFileMax*1024)) {                                @unlink($uploadFile);                                die(error("上傳文件超過 ".$this->upFileMax."KB"));                        }                } else {                        die(error("上傳圖片失敗,請確認你的上傳文件不超過 $upFileMax KB 或上傳時間超時"));                }                return $photo;        }        function getInfo($photo) {                $photo = $this->annexFolder."/".$photo;                $imageInfo = getimagesize($photo);                $imgInfo["width"] = $imageInfo[0];                $imgInfo["height"] = $imageInfo[1];                $imgInfo["type"] = $imageInfo[2];                $imgInfo["name"] = basename($photo);                return $imgInfo;        }        function smallImg($photo,$width=128,$height=128) {                $imgInfo = $this->getInfo($photo);                $photo = $this->annexFolder."/".$photo;//獲得圖片源                $newName = substr($imgInfo["name"],0,strrpos($imgInfo["name"], "."))."_thumb.jpg";//新圖片名稱                if($imgInfo["type"] == 1) {                        $img = imagecreatefromgif($photo);                } elseif($imgInfo["type"] == 2) {                        $img = imagecreatefromjpeg($photo);                } elseif($imgInfo["type"] == 3) {                        $img = imagecreatefrompng($photo);                } else {                        $img = "";                }                if(empty($img)) return False;                $width = ($width > $imgInfo["width"]) ? $imgInfo["width"] : $width;                $height = ($height > $imgInfo["height"]) ? $imgInfo["height"] : $height;                $srcW = $imgInfo["width"];                $srcH = $imgInfo["height"];                if ($srcW * $width > $srcH * $height) {                        $height = round($srcH * $width / $srcW);                } else {                        $width = round($srcW * $height / $srcH);                }                if (function_exists("imagecreatetruecolor")) {                        $newImg = imagecreatetruecolor($width, $height);                        ImageCopyResampled($newImg, $img, 0, 0, 0, 0, $width, $height, $imgInfo["width"], $imgInfo["height"]);                } else {                        $newImg = imagecreate($width, $height);                        ImageCopyResized($newImg, $img, 0, 0, 0, 0, $width, $height, $imgInfo["width"], $imgInfo["height"]);                }                if ($this->toFile) {                        if (file_exists($this->annexFolder."/".$this->smallFolder."/".$newName)) @unlink($this->annexFolder."/".$this->smallFolder."/".$newName);                        ImageJPEG($newImg,$this->annexFolder."/".$this->smallFolder."/".$newName);                        return $this->annexFolder."/".$this->smallFolder."/".$newName;                } else {                        ImageJPEG($newImg);                }                ImageDestroy($newImg);                ImageDestroy($img);                return $newName;        }        function waterMark($photo,$text) {                $imgInfo = $this->getInfo($photo);                $photo = $this->annexFolder."/".$photo;                $newName = substr($imgInfo["name"], 0, strrpos($imgInfo["name"], ".")) . "_mark.jpg";                switch ($imgInfo["type"]) {                        case 1:                                $img = imagecreatefromgif($photo);                        break;                        case 2:                                $img = imagecreatefromjpeg($photo);                        break;                        case 3:                                $img = imagecreatefrompng($photo);                        break;                        default:                                return False;                }                if (empty($img)) return False;                $width = ($this->maxWidth > $imgInfo["width"]) ? $imgInfo["width"] : $this->maxWidth;                $height = ($this->maxHeight > $imgInfo["height"]) ? $imgInfo["height"] : $this->maxHeight;                $srcW = $imgInfo["width"];                $srcH = $imgInfo["height"];                if ($srcW * $width > $srcH * $height) {                        $height = round($srcH * $width / $srcW);                } else {                        $width = round($srcW * $height / $srcH);                }                if (function_exists("imagecreatetruecolor")) {                        $newImg = imagecreatetruecolor($width, $height);                        ImageCopyResampled($newImg, $img, 0, 0, 0, 0, $width, $height, $imgInfo["width"], $imgInfo["height"]);                } else {                        $newImg = imagecreate($width, $height);                        ImageCopyResized($newImg, $img, 0, 0, 0, 0, $width, $height, $imgInfo["width"], $imgInfo["height"]);                }                               $white = imageColorAllocate($newImg, 255, 255, 255);                $black = imageColorAllocate($newImg, 0, 0, 0);                $alpha = imageColorAllocateAlpha($newImg, 230, 230, 230, 40);                ImageFilledRectangle($newImg, 0, $height-26, $width, $height, $alpha);                ImageFilledRectangle($newImg, 13, $height-20, 15, $height-7, $black);                ImageTTFText($newImg, 4.9, 0, 20, $height-14, $black, $this->fontType, $text[0]);                ImageTTFText($newImg, 4.9, 0, 20, $height-6, $black, $this->fontType, $text[1]);                if($this->toFile) {                        if (file_exists($this->annexFolder."/".$this->markFolder."/".$newName)) @unlink($this->annexFolder."/".$this->markFolder."/".$newName);                        ImageJPEG($newImg,$this->annexFolder."/".$this->markFolder."/".$newName);                        return $this->annexFolder."/".$this->markFolder."/".$newName;                } else {                        ImageJPEG($newImg);                }                ImageDestroy($newImg);                ImageDestroy($img);                return $newName;        }}?>

    第三步:測試上傳類
    upload.php

    <?php$annexFolder = "annex";$smallFolder = "smallimg";$markFolder = "mark";$includeFolder = "include";require("./".$includeFolder."/upfile.php");$img = new UPImages($annexFolder,$smallFolder,$includeFolder);$text = array("www.it165.net","all rights reserved");if(@$_GET["go"]) {        $photo = $img->upLoad("upfile");        $img->maxWidth = $img->maxHeight = 350;//設置生成水印圖像值        $img->toFile = true;        $newSmallImg = $img->smallImg($photo);        $newMark = $img->waterMark($photo,$text);        echo "<img src='http://shuimu.js.cn/wp-content/uploads/auto_save_image/2012/08/040324RBH.jpg".$newSmallImg."' border='0'><br><br>";        echo "<img src='http://shuimu.js.cn/wp-content/uploads/auto_save_image/2012/08/040324RBH.jpg".$newMark."' border='0'><br><br>";        echo "<a href='http://shuimu.js.cn/wp-content/uploads/auto_save_image/2012/08/040324RBH.jpgupload.php'>繼續上傳</a>";} else {?><form method="post" action="./upload.php?go=go" enctype="multipart/form-data"><input type="file" name="upfile"><br><br><input type="submit" value="上傳"></form><?php}?>

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
    92久久精品| 日本免费视频www| 成人欧美亚洲| 99视频免费在线观看| 丁香综合五月| 精品一二三区视频| 任你操在线观看| 91av久久| 国产9色视频| 国产在线观看18| 国产黄色免费网站| 久久精品最新免费国产成人| 日韩国产成人| 国产激情视频一区二区| 欧美日韩**字幕一区| 国产www视频在线观看| 欧美精品久久久久久久小说| 国产二区视频在线观看| 免费a级人成a大片在线观看| 国产精品你懂的在线观看| av网址在线看| 国产激情在线| 国产天堂在线观看| 二人午夜免费观看在线视频| 在线天堂中文www视软件| 九色福利视频| eeuss影院在线| 国产精品久久久久一区二区国产| 欧美韩日国产| 在线观看av的网站| 国产福利在线看| 日本中文字幕在线2020| 亚洲国产日韩成人综合天堂| 中文字幕网站视频在线| 成人精品福利| 成年人在线观看| 国产鲁鲁视频在线观看特色| 免费看av大片| 狂野欧美性猛交xxxx乱大交| 青青草在线播放| 免费三级毛片| 日本在线观看| 亚洲成av人影片在线观看| 精品日韩av| 亚洲欧美精品日韩欧美| 一本大道五月香蕉| 日本电影在线观看| 免费在线观看a| 激情亚洲综合网| 国产精品㊣新片速递bt| 五月亚洲综合| 国产99re66在线视频| 在线亚洲精品自拍| jlzzjlzz欧美大全| 国产卡1卡2卡三卡在线| 国产精品国产国产aⅴ| 精品偷拍激情视频在线观看| 国产高清在线看| 四虎成人精品在永久免费| 国产小视频在线播放| 精品国语对白精品自拍视| 欧美性猛交xxxx免费看蜜桃| 四虎中文字幕| 国产主播色在线| 五月婷婷导航| 精品一区二区三区在线成人| 男女羞羞视频在线观看| 国产鲁鲁视频在线观看免费| 国产黄色大片在线观看| 亚洲成人在线播放| 综合激情亚洲| 午夜小视频在线| 成人免费一区二区三区视频网站| 国产小视频免费在线网址| 在线中文免费视频| 国产精品一品| 小说区乱图片区| 国产激情在线| 久久99精品久久久久久野外| 精品国语对白精品自拍视| 超碰人人在线| 在线观看av的网站| 国产丝袜护土调教在线视频| 亚洲精品男人| 精品99又大又爽又硬少妇毛片 | 国产精品久久人| 永久免费av片在线观看全网站| 福利视频网址导航| 日本黄色免费网址| 在线播放国产区| 精品视频在线一区二区| 国产日本在线| 国产亚洲精品一区二区在线观看| 波多野结衣中文字幕久久| 91九色在线看| 国产变态拳头交视频一区二区| 中文字幕在线第一页| 国产69久久| 国产乱子视频| 国产视频福利| 国产福利在线观看| 2019中文字幕在线视频| 精品国产一区二区三区久久久狼牙| 99视频免费在线观看| 丁香在线视频| 91sp网站在线观看入口| 国产在线你懂得| 国产免费自拍视频| 国自产拍在线网站网址视频| 黄色毛片在线看| 天天操夜夜摸| 国产成人精品久久一区二区小说| 国产大学生粉嫩无套流白浆| 国产黄色免费在线观看| 91视频久色| 欧美精品久久久久久久小说| 爱福利在线视频| 中文字幕网站视频在线| 国产成人精品综合网站| av影视在线看| 国产在线高清理伦片a| 国产三区在线观看| 日本免费黄色| 国产亚av手机在线观看| 在线观看中文字幕| 国产理论电影在线| 在线色视频网| 1区2区视频| www.夜夜操| 国产偷窥洗澡视频| 麻豆国产视频| 国产对白在线| 国产美女在线播放| 亚洲综合在线网| 中文字幕人成高视频| 日本欧美在线视频免费观看| 国产天堂视频| 国产免费福利| 日本免费黄色| 影音先锋在线中文字幕| 中文字幕第一页av| 久热免费在线视频| 亚洲综合在线网| 国产一区二区三区四区尤物| 四虎一区二区三区| 在线中文视频| 国产小视频免费在线观看| 久久国产综合视频| 欧洲有码在线视频| аⅴ成人天堂中文在线| 亚洲综合在线免费| 影音先锋中文字幕在线| 国产丝袜在线| 国产精品久久久久久久久鸭| 国产精品一区二区婷婷| www.xxx黄| 欧美日韩亚洲国内综合网| 丝袜理论片在线观看| 亚洲第一区视频| 亚洲天堂二区| 在线国产一级| 中文字幕av高清在线观看| 国产95在线|亚洲| 精品视频在线一区二区| 国产aⅴ超薄肉色丝袜交足| 国产精品人人爱一区二区白浆| 国产亚洲精品拍拍拍拍拍| 国产特黄在线| 在线免费观看黄色片| 天天艹天天操| 免费高清av| 国产精品一区二区三区高清在线 | 国产黄色在线播放| 精品伦理一区二区| 四虎成人精品在永久在线观看| av网站大全在线观看| 久热免费视频| 国产一级片在线| 在线观看免费观看在线91| 天天干天天操天天爽| 91xxx在线观看| 国产jizz| 黄色网址在线免费播放| 国产一级电影网| 亚洲精品自拍区在线观看| 久热中文字幕在线观看| 成人欧美亚洲| av文字幕在线观看| 国产麻豆精品入口在线观看| 国产黄a三级三级三级av在线看| 午夜羞羞小视频在线观看| 国产女王在线**视频| 99免费视频| 国产三级在线播放| 欧美黑人乱大交| 精品卡一卡卡2卡3网站| 高清欧美精品xxxxx在线看| 国产黄色免费| 高潮白浆视频| 热99在线观看|