Thumbnail类文件中的.php文件是如何实现的?

更新于
2026-09-24 16:53:31
2阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计720个文字,预计阅读时间需要3分钟。

Thumbnail类文件中的.php文件是如何实现的?

phpThumbnail::class.php 读取图片信息,支持PNG、JPEG、GIF格式,直接输出结果:phpclass Thumbnail{ public static function getImageInfo($fileName, $type) { list($src_width, $src_height)=getimagesize($fileName); $self::$src_width=$src_width; $self::$src_height=$src_height; $self::$type=$imageType[$type]; return $self::$error=in_array('s', array('PNG', 'JPEG', 'GIF')); }}

缩略图Thumbnail.class.php

'png',2=>'jpeg',3=>'gif'); list($src_width,$src_height,$type) = getimagesize($fileName); self::$src_width = $src_width; self::$src_height = $src_height; self::$type = $imageType[$type]; return self::$error = in_array(self::$type, $imageType) ? true:"不支持该格式文件,支持的格式为:'png','jpeg','gif'"; } /** * [variableMethod 返回可变方法的方法名] * @param [string] $name [可变方法名的拼接部分] * @param string $funcPrefix [可变方法名的不变部分(前缀)] * @return [string] [可变方法的方法名字符串] */ public static function variableMethod($funcPrefix='imagecreatefrom',$name){ return $funcPrefix.$name; } /** * 生成图片的随机文件名 * @param string $fileName 传入的文件名,带后缀名 * @param int $length=9 默认值为9,生成的随机字符串的长度 * @return $newFilwName 返回生成的新文件名 */ public static function createNewFileName($type,$length=9){ //获取当前时间 $newFilwName = date("YmdHis"); //生成随机名的一部分 for($i=0;$i<$length;$i++){ $newFilwName .= mt_rand(1,9); } $newFilwName .= ".".$type; return $newFilwName; } public static function thumbnailCreateSave($filePath,$width=100,$height=40){ $param = func_get_args(); $counts = count($param); //判断合法性 $result = self::fileExists($filePath)?(self::fileLegal($filePath)?:false):false; if(!$result)return false; //打开文件资源 $funcMethod = self::variableMethod('imagecreatefrom',self::$type); $srcImage = $funcMethod($filePath); if(!$srcImage)return false; //创建缩略图资源 $srcTHumb = imagecreatetruecolor($width,$height); //采样数据 $result &= imagecopyresampled($srcTHumb,$srcImage,0,0,0,0,$width,$height,self::$src_width,self::$src_height); if(!$result)return false; //保存输出 $thumbnailName = self::createNewFileName(self::$type); $funcMethod = self::variableMethod('image',self::$type); if($counts==4){ $newpath = $param[3]; $newpath = isset($newpath) ? $newpath .= $thumbnailName :false; $result = $funcMethod($srcTHumb,$newpath); }else{ // 设置头信息,告诉浏览器以图片格式输出 header("content-type:image/png"); // 清屏,为图片输出创在输出环境 ob_clean(); $result = $funcMethod($srcTHumb); } if(!$result)return false; //销毁资源 imagedestroy($srcTHumb); imagedestroy($srcImage); return $newpath; } } //Thumbnail::createTnumbnail($filePath = './42933-106.jpg',400,100);

Thumbnail类文件中的.php文件是如何实现的?

本文共计720个文字,预计阅读时间需要3分钟。

Thumbnail类文件中的.php文件是如何实现的?

phpThumbnail::class.php 读取图片信息,支持PNG、JPEG、GIF格式,直接输出结果:phpclass Thumbnail{ public static function getImageInfo($fileName, $type) { list($src_width, $src_height)=getimagesize($fileName); $self::$src_width=$src_width; $self::$src_height=$src_height; $self::$type=$imageType[$type]; return $self::$error=in_array('s', array('PNG', 'JPEG', 'GIF')); }}

缩略图Thumbnail.class.php

'png',2=>'jpeg',3=>'gif'); list($src_width,$src_height,$type) = getimagesize($fileName); self::$src_width = $src_width; self::$src_height = $src_height; self::$type = $imageType[$type]; return self::$error = in_array(self::$type, $imageType) ? true:"不支持该格式文件,支持的格式为:'png','jpeg','gif'"; } /** * [variableMethod 返回可变方法的方法名] * @param [string] $name [可变方法名的拼接部分] * @param string $funcPrefix [可变方法名的不变部分(前缀)] * @return [string] [可变方法的方法名字符串] */ public static function variableMethod($funcPrefix='imagecreatefrom',$name){ return $funcPrefix.$name; } /** * 生成图片的随机文件名 * @param string $fileName 传入的文件名,带后缀名 * @param int $length=9 默认值为9,生成的随机字符串的长度 * @return $newFilwName 返回生成的新文件名 */ public static function createNewFileName($type,$length=9){ //获取当前时间 $newFilwName = date("YmdHis"); //生成随机名的一部分 for($i=0;$i<$length;$i++){ $newFilwName .= mt_rand(1,9); } $newFilwName .= ".".$type; return $newFilwName; } public static function thumbnailCreateSave($filePath,$width=100,$height=40){ $param = func_get_args(); $counts = count($param); //判断合法性 $result = self::fileExists($filePath)?(self::fileLegal($filePath)?:false):false; if(!$result)return false; //打开文件资源 $funcMethod = self::variableMethod('imagecreatefrom',self::$type); $srcImage = $funcMethod($filePath); if(!$srcImage)return false; //创建缩略图资源 $srcTHumb = imagecreatetruecolor($width,$height); //采样数据 $result &= imagecopyresampled($srcTHumb,$srcImage,0,0,0,0,$width,$height,self::$src_width,self::$src_height); if(!$result)return false; //保存输出 $thumbnailName = self::createNewFileName(self::$type); $funcMethod = self::variableMethod('image',self::$type); if($counts==4){ $newpath = $param[3]; $newpath = isset($newpath) ? $newpath .= $thumbnailName :false; $result = $funcMethod($srcTHumb,$newpath); }else{ // 设置头信息,告诉浏览器以图片格式输出 header("content-type:image/png"); // 清屏,为图片输出创在输出环境 ob_clean(); $result = $funcMethod($srcTHumb); } if(!$result)return false; //销毁资源 imagedestroy($srcTHumb); imagedestroy($srcImage); return $newpath; } } //Thumbnail::createTnumbnail($filePath = './42933-106.jpg',400,100);

Thumbnail类文件中的.php文件是如何实现的?