可以让PHP编程事半功倍的类库
在用php开发网站的时候,使用面向对象的方法确实可以提高代码复用率,减少代码冗余。而对初学者更友好的是,PHP开发网站所需要的大部分类库,网上都有十分优秀的类库存在了。作为一个程序猿当然不能重复制造轮子,所以我把平时经常会使用到的类库整理下来,希望对学习PHP的站长朋友们有用。
一:采集类库,snoopy.class.php。(类库下载请自行百度,没有重名的)
说起做网站对大部分站长来讲,采集是必不可缺的部分。很多站长可能直接使用dedecms之类cms内置的采集功能了,但是有时候网站很小没必要使用cms或者cms的内置采集功能满足不了我们的需求的时候怎么办呢。那就可以使用这个采集类库了。使用方法非常简单。
使用演示:
//加载类库文件include("snoopy.php");
//要采集的页面地址
$url = "http://www.www.XXX.com";
$snoopy = new Snoopy;
//去抓取页面
$snoopy->fetch($url);
//输出抓回页面的html
echo $snoopy->results;
接下来,用正则表达式把你需要的内容匹配出来。这样采集就大功告成了。简单吧!
二:图片处理类库,PHPThumb,下载地址(github.com/masterexploder/PHPThumb)。注意这个类库有一个重名的叫phpthumb,只是大小写的差别,所以查找文档的时候千万注意托福答案
在网站建设过程中,需要处理图片的地方多不胜数,用php的图片函数处理图片,十分繁琐。而且对新手来讲十分不好掌握。现在我们可以用PHPThumb类库来处理图片,包括,图片尺寸调整,图片截取,图片加水印,图片旋转等等功能。
使用演示:
//加载类库文件
require_once 'path/to/ThumbLib.inc.php';
//实例化类库,传入你要处理的图片的地址可以是网络地址,也可以是本地地址
$thumb = PhpThumbFactory::create('http://www.XXX.com/');
//把图片等比缩小到最大宽度 100px或者最高100px,当只输入一个参数的时候,是限制最宽的尺寸。
$thumb->resize(100, 100);
//把图片等比缩小到原来的百分数,比如50就是原来的50%。
$thumb->resizePercent(50);
//截取一个175px * 175px的图片,注意这个是截取,超出的部分直接裁切掉,不是强制改变尺寸。
$thumb->adaptiveResize(175, 175);
//从图片的中心计算,截取200px * 100px的图片。
$thumb->cropFromCenter(200, 100);
//截图,前两个参数分别是需要解出的图片的右上角的坐标X,Y。 后面两个参数是需要解出的图片宽,高。
$thumb->crop(100, 100, 300, 200);
//把图片顺时针反转180度
$thumb->rotateImageNDegrees(180);
这个类库还有更多功能就不多做介绍了,如果你也在开发PHP网站过程中需要处理图片不妨阅读一下这个类库的文档,保证你处理图片很简单,再也不用和那十几个烦人的php图片处理函数打交道了!
可以让PHP编程事半功倍的类库的更多相关文章
- 《类型编程晋级——shapeless类库使用指南》前言及第一章翻译
从年初开始进行此项工作,我和合作伙伴包亮付出了大量而艰辛的劳动,现基本翻译完毕,有出版意向,如果有意向欢迎联系,不甚感激!也欢迎各位博友对此翻译提出意见建议以及指导如何出版,在此谢过! 前言 时间回到 ...
- 进阶Java编程(5)基础类库
Java基础类库 1,StringBuffer类 String类是在所有项目开发之中一定会使用到的一个功能类,并且这个类拥有如下的特点: ①每一个字符串的常量都属于一个String类的匿名对象,并且不 ...
- 物联网网络编程、Web编程综述
本文是基于嵌入式物联网研发工程师的视觉对网络编程和web编程进行阐述.对于专注J2EE后端服务开发的童鞋们来说,这篇文章可能稍显简单.但是网络编程和web编程对于绝大部分嵌入式物联网工程师来说是一块真 ...
- 物联网网络编程和web编程
本文是基于嵌入式物联网研发project师的视觉对网络编程和web编程进行阐述. 对于专注J2EE后端服务开发的同学来说,这篇文章可能略微简单.可是网络编程和web编程对于绝大部分嵌入式物联网proj ...
- 09Windows编程
Windows编程 2.1 窗口 Windows应用程序一般都有一个窗口,窗口是运行程序与外界交换信息的界面.一个典型的窗口包括标题栏.最小化按钮.最大/还原按钮.关闭按钮.系统菜单图标.菜 ...
- 一些.NET 项目中经常使用的类库
Web自己主动化測试 Watin Selenium Selenium git .net 集合类扩展实现C5 Subscriber/Publisher 模式 Rx Nats 防御式编程 断言库 流 ...
- IO之Socket网络编程
一.Socket Socket不是Java中独有的概念,而是一个语言无关标准.任何可以实现网络编程的编程语言都有Socket. 1,Socket概念 网络上的两个程序通过一个双向的通信连接实现数据的交 ...
- 第三单元总结——JML契约式编程
OO第三单元博客作业--JML与契约式编程 OO第三单元的三次作业都是在课程组的JML规格下完成.完成作业的过程是契约式编程的过程:设计者完成规格设计,实现者按照规格具体实现.作业正确性的检查同样围绕 ...
- SDK,API,DLL名词解释
SDK (software devalopment kit) 软件开发工具包 : 一般都是一些软件工程师Wie特定的软件包.软件框架.硬件平台.操作系统等建立应用软件时的开发工具的集合. API (A ...
随机推荐
- 【转】Android自定义Adapter的ListView的思路及代码
原文网址:http://www.jb51.net/article/37236.htm Android自定义Adapter的ListView的思路及代码,需要的朋友可以参考一下 在开发中,我们经常使 ...
- 【数学相关、规律】Codeforces 696B Puzzles
题目链接: http://codeforces.com/problemset/problem/696/B 题目大意: 给一棵树,从根节点开始递归,time=1,每次递归等概率随机访问这个节点的子节点, ...
- SharePoint Server 2007 Enterprise Key
正式版 key SN: Tkjcb-3wkhk-2ty2t-qymk2-9xm2y 这个版本也是通过Key来区分是否是测试版还是正式版的 也就是说你输入正式版的Key他就是正式版,输入Enterpri ...
- 转:VS2010解决方案转换到VS2008
原文链接地址:http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 如果你使用VS2010的任何版本写代 ...
- SRM 502(2-1000pt)
题意:在0~(n-1)中选择k个数,使得他们的和为n的倍数的选择方案有多少种.(n <= 1000, k <= 47) 解法:裸dp.d[i][j][k’]表示在前i个数中(0~i-1), ...
- C基本语句测试
- BASH_SOURCE 用法
参考 bash少见的用法 http://blog.csdn.net/wonderisland/article/details/22892759. 原有项目里自带的启动脚本用到了bash_source获 ...
- BIGINT UNSIGNED value is out of range in … 问题的解决方法
问题出现在CAST(value AS USIGNED)将字符串转换成数值的过程中,出现这个问题的原因是value对应的数值在BIGINT UNSIGNED 的范围内.可能的情况是value的值太大,超 ...
- adb logcat命令查看并过滤android输出log
cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...
- javascript、js操作json方法总结(json字符创转换json对象)
相信前端的同学们对json并不陌生,接触过很多.但是很少人知道json的全称是什么,哈哈,我也是查资 料知道的.(JSON JavaScript Object Notation是一种轻量级的数据交换格 ...