关于本站
“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
2655
39
分类目录
最新评论
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
文章标签更多
打开边栏(ESC)
关闭边栏(ESC)
PHP缩略图类ImageResize,分别生成三种不同尺寸的图片。调用方法很简单只要传参数高度和宽度,及新图片的名称。
缩略图类ImageResize.class.php
<?php /** * 缩略图生成类,使用示例: */ /* $newimage=new ImageResize(); $newimage->resize("1.jpg","1_lit.jpg",644,373); echo $newimage->GetLastError(); */ class ImageResize{ private $localimage;//原图路径 private $remoteimage;//缩略图保存路径 private $localinfo;//原图属性 private $error; function resize($localimg, $remoteimg, $x, $y) { //检测是否支持gd图像处理 if(!$this->_checkenv()){ return false; } $this->localimage = $localimg; $this->remoteimage = $remoteimg; $this->localinfo = getimagesize($this->localimage); //获取本地图像的信息 return $this->_resize($x,$y); } /** * 检测当前环境是否支持GD */ private function _checkenv(){ $gd_info=gd_info(); if(!$gd_info){ $this->error[]="当前环境不支持GD图像处理,请先安装GD库并开启PHP相关扩展"; return false; } return true; } /** * 生成缩略图主函数 * @param int $x 指定的缩略图宽度 * @param int $y 指定的缩略图高度 * @return boolean */ private function _resize($x,$y){ if(!$this->localinfo){ $this->error[]="本地图像文件不存在"; return false; } //创建图像句柄 $im=@$this->_create($this->localinfo[2]); if(!$im){ $this->error[]="当前GD库不支持图像类型:{$this->localinfo['mime']}"; return false; } $dstsize=$this->_dstsize($x, $y); $dstim=@imagecreatetruecolor($dstsize["width"],$dstsize["height"]); $whitecolor=@imagecolorallocatealpha($dstim, 0, 0, 0,127); imagefill($dstim,0,0,$whitecolor); $re=@imagecopyresampled($dstim, $im, 0, 0, 0, 0, $dstsize["width"], $dstsize["height"], $this->localinfo[0], $this->localinfo[1]); if(!$re){ $this->error[]="图像重新采样失败"; return false; } if(!imagejpeg($dstim, $this->remoteimage)){ if(!imagepng($dstim,$this->remoteimage)){ if(!imagegif($dstim,$this->remoteimage)){ $this->error[]="保存缩略图到{$this->remoteimage}失败,请检查gd环境是否正常和缩略图文件夹的写入权限。"; return false; } } } $this->error[]="success"; return true; } /** * 根据本地图片类型,创建图片资源 * @param 图像类型代码 $code * @return resource/boolean 成功则返回resourse失败则返回false */ private function _create($code){ $src=$this->localimage; switch ($code){ case 1: return imagecreatefromgif($src); break; case 2: return imagecreatefromjpeg($src); break; case 3: return imagecreatefrompng($src); break; default : return false; break; } } /** * 按比例计算合适的宽度 * @param int $x 指定的缩略图宽度 * @param int $y 指定的缩略图高度 * @return array 包含调整后的缩略图宽度和高度 */ private function _dstsize($x,$y){ list($srcwidth,$srcheight)=$this->localinfo; if(($srcwidth/$srcheight)<($x/$y)){ $x=floor($y*$srcwidth/$srcheight); }else{ $y=floor($x*$srcheight/$srcwidth); } $dstsize["width"]=$x; $dstsize["height"]=$y; return $dstsize; } /** * 获取最后一条错误信息 * return string */ function GetLastError(){ return array_pop($this->error); } /** * 获取所有错误信息 * return array */ function GetAllError(){ return $this->error; } }使用
<?php header("Content-type: text/html; charset=utf-8"); include_once 'ImageResize.class.php'; //实例化缩略图类 $newimage = new ImageResize(); //将当前目录下的test.jpg生成缩略图并保存到test_400_400.jpg,指定的宽度高度分别是400和400像素 $newimage->resize("demo.jpg", "demo_400_400.jpg", 400, 400); $newimage->resize("demo.jpg", "demo_200_200.jpg", 200, 200); $newimage->resize("demo.jpg", "demo_50_50.jpg", 50, 50); //获取最后一条错误信息,如果生成成功则输出'success' echo "<p style='color:red;font-weight:bold;text-align:center;font-size:16px;margin:50px 0 20px'>结果:".$newimage->GetLastError()."</p>"; ?>
赏
相关推荐
php实现ZIP压缩文件解压缩,中文乱码解决方法(重要)
直接上代码,具体代码里面都有注释。直接中文压缩文件解压到中文文件夹。
<?php
// 需开启配置 php_zip.dll
// phpinfo();
header("Content-type:text/html;charset=utf-8");
/*
* $filename 被解压文件名
* $path 解压...
openssl_private_decrypt解密失败
复制别人的解密程序,原程序可以解密,复制过来就不可以
一步步尝试发现,秘钥换行符有区别,
原秘钥有换行符,复制过来不知道什么时候把换行符清空了,成了一行字符串了。
评论加载中...