//参数1 文件名 参数2 缩放比例
function _thumb($_filename,$_percent){
ob_clean();
//生成png标头文件
header('Content-type:image/png');
$_n=explode('.', $_filename);
//获取文件的信息,宽和高
list($_width,$_height)=getimagesize($_filename);
//生成缩略后的大小
$_new_width=$_width*$_percent;
$_new_height=$_height*$_percent;
//按照新的大小创建微缩画布
$_new_image=imagecreatetruecolor($_new_width, $_new_height);
//按照已经有的图片创建一个画布[按照图片类型]
switch($_n[1]){
case 'jpg':$_image=imagecreatefromjpeg($_filename);
break;
case 'png':$_image=imagecreatefrompng($_filename);
break;
case 'gif':$_image=imagecreatefromgif($_filename);
break;
}
//将原来的图复制到新的图片上
imagecopyresampled($_new_image, $_image, 0, 0, 0, 0, $_new_width, $_new_height, $_width, $_height);
//输出图片
imagepng($_new_image);
//销毁新资源句柄
imagedestroy($_new_image);
//销毁原资源句柄
imagedestroy($_image);
} php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...
开发com组件可以用c++,vc++,net,我比较熟悉net,演示用dnet(1).创建项目:启动vs2017,新建项目,选择Visual C# ->Windows桌面->类库通用windows(2). 修改Com项目:点击 项目->项目属性,再点击应用程序->程序集信息,...
重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。/** * 获取应用根目录 * @return string */ public static function getRootP...
(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...
<?php $member = new class { public function getInfo() { ...
<?php //php7+ define('CONFIG', [ 'MYSQL' => '127.0.0.1',  ...