Submitted by gouki on 2008, September 22, 9:57 PM
ImagIck这个控件应该算是最近两年来,各个WEB程序员都比较推荐的一个编辑图片的软件。
其实这也是一个分支吧?如果我没有记错,都是从XXX(忘了是哪个了)分出来的,一个是MagickWand,另一个就是这个Imagick了,只是MagicWand好象比较难以控制,并不如这个Imagick方便,再加上Imagick的类及使用方法也集成在PHP手册里了。
本来我是安装了ImageMagick-6.2.5-4-Q16-windows-dll.exe的,然而,愿望总是美好的,结果在Apache下运行的时候,总是提示挂接不上某个动态链接库,装回5.5.7后一切正常,但却无法使用PHP手册里所提供的函数。
本来都想放弃了,可是同事在单位里的Linux上装上了这个软件,但由于我们的PHP版本太低,在大多数的情况下都是直接使用命令行进行操作的。
为了适应将来的PHP版本升级,所以不得不学习这个软件,在我以前的贴子里,也贴过了Imagick官网和一些例子的实现网站。
今后我也会重新拾起代码,尽量、争取把官网的例子也逐步一一实现,或者大部分常用的实现一下。
感谢团队好友hihiyou(http://www.hihiyou.com)为我找了一个可以在windows下使用的Imagick的DLL,可以让我开始学习它。
先来个例子,黑黑。。。
PHP代码
- <?php
- header('Content-type: image/gif');
-
- $image = new Imagick('google_logo.gif');
- $image->adaptiveResizeImage(400,NULL);
-
- echo $image;
- ?>
原图:
重生成:
Tags: imagick, php, extension, dll
PHP | 评论:3
| 阅读:31127
Submitted by gouki on 2008, September 16, 10:42 PM
不好意思,该操作只能在windows服务器上才能执行,是因为,只有windows服务器才支持COM功能,而且,必须安装wps(这点应该不难,因为WPS是免费软件)
免费软件这点太重要了,如果你要生成WORD,你不可能安装一个OFFICE吧,office太贵了。
PHP代码
- <?php
- $wps = new COM("WPS.Application");
- $wps->Visible = false;
- $doc = $wps->Documents->Add();
- $doc->Range->Text = 'WPS FOR PHP test';
- $doc->Paragraphs[1]->Alignment = 1;
- $doc->Shapes->AddPicture("http://img.kingsoft.com/publish/kingsoft/images/gb/sy/logo.gif", 100, 50, 148, 60);
- $doc->SaveAs('c:\\temp\\test1.wps');
- $doc->Close();
- $wps->Quit();
- unset( $doc , $wps );
- ?>
代码很简单,只是添加了一个文字和一个图片而己。但是,证明了是可以使用这个功能。
大家别忘了,WPS的附加功能可是很多的,比如把文件转为PDF等格式。也就是说, 如果是在windows服务器上,我们要生成PDF,可以不使用那些什么fpdf类库,而是使用WPS先生成一个WORD格式的文档,然后直接exportPdf就可以了。要知道OFFICE默认并不支持这种功能。黑黑
这也是一种思路嘛,思路决定出路,转换一种思路,可能就是海阔天空。
这里是WPS的开发者网站:http://wps.kingsoft.com/apply/engineer.shtml,从这里可以下载API:http://wps.kingsoft.com/download/WPSAPI.zip
Tags: php, wps, com, wps application
PHP | 评论:1
| 阅读:30738
Submitted by gouki on 2008, September 16, 10:13 PM
在windows服务器里面,如果我们要用FTP函数,速度应该是很慢的,而且效率不高,如果有大量文件需要上传,用自带的FTP函数,恐怕是要死人的吧。
windows服务器,windows哦,可以装N多软件的windows哦。虽然不建议在服务器上装上很多软件,但是也可以装一些FTP软件的嘛。这里以cuteftp举例。
cuteftp安装完毕后,会在软件目录里有一个Scripts目录,现在的版本不象很久以前的了,如今的版里只有一个Sample.vbs,记得几年前的cuteftp里面会有各种各样的vbs文件的。
闲话不多说,打开vbs文件,内容为:
ASP/Visual Basic代码
-
-
-
-
-
-
-
- Dim MySite
-
- Set MySite = CreateObject("CuteFTPPro.TEConnection")
-
-
-
- MySite.Protocol = "FTP"
- MySite.Host = "ftp.globalscape.com"
-
- MySite.Login = "anonymous"
- MySite.Password = "user@user.com"
-
- MySite.UseProxy = "BOTH"
-
- MySite.Connect
-
- If (Not Cbool(MySite.IsConnected)) Then
- MsgBox "Could not connect to: " & MySite.Host & "!"
- Quit(1)
- End If
-
- If (Not (MySite.LocalExists("c:\temp"))) Then
- MySite.CreateLocalFolder "c:\temp"
- End If
-
- MySite.LocalFolder = "c:\temp"
-
- b = MySite.RemoteExists("/pub/cuteftp/")
- If (Not CBool(b)) Then
-
- MsgBox "Remote folder not found!. Please make sure that the Pub folder exists on the remote site"
- Quit(1)
- End If
-
- MySite.Download "/pub/cuteftp/index.txt"
-
- MsgBox "Task done, final status is '" + MySite.Status + "'"
- MySite.Disconnect
- MySite.Close
-
看到这样的文件,你应该知道如何调用一些FTP软件自带的方法了吧?现在,我们用PHP模拟一遍。。。。。
请看详细内容
» 阅读全文
Tags: ftp, com, windows, cuteftp, vbs
PHP | 评论:0
| 阅读:22209
Submitted by gouki on 2008, September 6, 10:24 PM
今天听了点课,感悟还是有点的。软件开发会时不时的遇到点瓶颈,这其实与佛家思想还是有点关系的,当然,也许是我硬套上的吧。
佛家参惮有一种说法:看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水。这里说的是佛家修行的三个层次,也叫三重境界,即初期看山是山,中期有悟时,山就不再是简单的山了,最后彻悟,返朴归真,山还是山,但已经不是原来的那个山了,升华了,空灵了。把这用在游记上也是很合适的。走马观花,照象机式的记录,见山是山,见水是水,见什么写什么,流水帐,千篇一律,大同小异,这是初级阶段。再上一个层次,进到文学的创作,那就得看山不是山,看水不是水。那是什么?是山水背后的东西,附在山水之上的东西,山不再是单纯岩石泥土加草木的立体,水也不是简单的流动的液体了。
软件开发也差不多,刚开始学程序的时候,看山是山,因为这时候思想还没有成形,对于程序的理解都是停在表面上,没有什么特别的概念。随着编程时间的增长,和能力的进步,这时候看待程序、架构都比较的深层次了,于是就升级成为看山不是山,看水不是水的境界。这道坎其实很难跨越,等到真正跨越这一层,然后所以的编程语言、架构在眼里又变成那样的浅显,于是又回到了最初的看山是山看水是水的境界。
随便说说而己。不必生搬硬套
Tags: 佛家思想, 感悟, 开发, php
PHP | 评论:1
| 阅读:20231
Submitted by gouki on 2008, September 6, 8:30 PM
今天下午和同事参加了ThinkSite举办的技术交流会,期间由某知名猎头公司猎头进行了行业介绍和职业规划简介,但最关心的还是支付宝架构师杨云的介绍。
杨云认为:
1、开发者应当尝试不同的应用开发,以便可以了解、熟悉各种流程。
2、始终保持初学者心态。在看到别人的开发、代码时,不管怎么样,总应该抱着学习的心态,不能因为自己在某领域强过别人就对别人采用批判的眼光。三人行必有我师。达者为先。讲的都是这种道理吧。
3、建立完善的学习体系。当你看到或者搜索到你需要的代码或者程序时,不应该存着拿来主义,而应该做到知其然,并知其所以然。只有这样,你才是真正的学习到了东西,否则永远就只是处在代码层阶段,而永远无法深入。
4、少用工具代替思考,工具之所以是工具,只是为了方便开发,而不能将工具代替你自身的思考。开发过程中,总会出现这样那样的BUG,工具只是方便你将BUG定位,而不一定能完整的将BUG查找出来,这时候不能完全依赖工具,而应该检查自己的代码。
5、不要错过向高手学习的机会。记住,是主动向高手学习。生活当中、开发当中,遇到高手的机会可能会很多,但能不能抓住机会向别人请教,那就要靠自己了。毕竟,别人不会主动问你有什么不会的。
6、搞清技术的来龙去脉。编程技术的发展经历了大约三十年左右,在这三十年里,产生了各种不同的思想,也有很多人根据同样的思想而发展出了不同的派系,只有了解清楚该项技术产生的背景,就不会让你在选择的时候感到迷惑。举例说AJAX,本来就是属于一个很老的技术,但现在ajax的框架有一大堆,你会选择哪个?如果你自己真正的了解了AJAX的核心的内容,你还会在于你选择哪一个吗?当然你在分析不同的代码后,可能会选择一个你认为相对效率较高的一样,可是这也证明了你基本搞清楚它的来龙去脉 了。
7、形成自己的开发的世界观。相信自己,不要迷惑,要有自己的世界观。这是杨云的意见和建议。个人还是认为:世界观、人生观、价值观,这虽然是在初中学政治的时候用到,但用在开发上,也确实有它的独到之处。这三个观念树立好,也可以使自己在往后的开发生涯中不会感到迷惘。这可是自己选择的路。。。。
附上杨云的演讲形象:
会后,多人对世界观提出了自己的看法,当然我的看法就在上面。同时参与了一些讨论,感慨于目前的培训机构和培训人员及被培训人员的思维。虽然谈了不少,但总感觉少了点什么?文人相轻,在搞技术的人身上也能得到完美的体现。或许就其实就是杨云所说的第二条吧。没有一个初学者的心态,如何能够正确树立和形成一个完善的软件开发世界观?
学习,沉淀,尽可能的帮助其他人,或者这也是程序员的一种快乐吧。如果这种快乐能够被传递,那才是一件很快乐的事。
Tags: 开发, thinksite, 支付宝, 心态, 世界观
PHP | 评论:0
| 阅读:21472