‘PHP编程’ 分类的存档

以前看到过新版本的Symfony的Form文档,在类中可以通过$this['key']的方法来访问当前对象中的widgets,我一直很诧异,为什么可以这样用呢?我试验过很多方法都没成功,今天终于找到答案了。 方法其实很简单,需要在类中继承PHP预定义接口ArrayAccess,并且包含offsetGet, offsetSet, offsetExists和offsetUnset四个方法就可以实现上述功能了。下面来举个例子:

  • Share/Bookmark
2010年5月21日11:59 | 没有评论

今天看到很多网站的网页都变成灰色了,很多是使用了IE的滤镜,但是在非IE下就失效了,有的用的是另做的一套黑白图片实现网页的黑白版,这样显得又太麻烦。 记得前一段时间看到老外的一篇利用Apache的mod_rewrite模块和php结合实现网站图片水印的文章,今天受到此文章的启发我就想能不能利用同样的原理来实现将网站的所有图片都变成黑白的呢?经过今天的实验,我成功了!证明我的想法是正确的!下面就介绍一下如何利用apache或者nginx与php的结合来实现黑白版的网页。 首先修改网站的apache配置文件(.htaccess也行)或者nginx的配置文件: Apache: RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f RewriteRule \.(gif|jpeg|jpg|png)$ img_to_black_write.php [QSA,NC] Nginx(在server中加入): if (!-f $request_filename) { rewrite ^(.*)\.(jpg|png|gif)$ /img_to_black_write.php; } 这里是img_to_black_write.php的代码 < ?php $file = $_SERVER[’DOCUMENT_ROOT’] . $_SERVER[’REQUEST_URI’]; $im = imagecreatefromstring(file_get_contents($file)); if (imageistruecolor($im)) { imagetruecolortopalette($im, true, 256); } $total_colors = imagecolorstotal($im);   for ($i = 0; $i < $total_colors; $i++){ $rgb = imagecolorsforindex($im, [...]

  • Share/Bookmark
2010年4月21日23:52 | 没有评论

今天在PHP官网(http://www.php.net)上面查询number_format函数的时候发现了一小段代码,虽然很短,但是我觉得很有用,最主要的是我受到了很多启发,下面把那段代码贴出来以便共享,:) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 < ?php function format_filesize($number, $decimals = 3, $force_unit = false, $dec_char = ‘,’, $thousands_char = ‘ ‘) { //string format_filesize(int(0,) $number, (bool(0), int(0,4)) $force_unit, int $decimals, char $dec_char, char $thousands_char) //format a filesize $number with unit (setted by $force_unit(see [...]

  • Share/Bookmark
2008年10月30日17:36 | 没有评论

刚刚完成了上次写的图片转换器的改变大小的功能,如果还有什么需要赶紧的希望大家指出来,以方便尽我的能力对其进行改进(这是我没事写着玩的,:),纯属兴趣),网址:http://www.firestudio.cn/home/imageConverter.php

  • Share/Bookmark
2008年6月4日23:09 | 没有评论
分类: PHP编程

我昨天晚上写了一个图片转换的小程序(没有完成),刚刚把它搞定,很简单的一种,现丑了,呵呵~。其中包括从彩色到黑白的转换,图片质量的改变,是否交错 以及图片格式的转换(PNG, GIF和JPEG格式之间的转换)。下个星期我准备再对它进行完善一点,加点功能(比如调整大小)。有兴趣的朋友可以试一下给点意见。 图片转换器地址:http://www.firestudio.cn/home/imageConverter.php

  • Share/Bookmark
2008年5月30日11:44 | 没有评论
分类: PHP编程

下载附件到你的jedit的modes目录下面,然后在你的modes目录下面的catalog中加入下面一句话: <MODE NAME=”yaml” FILE=”yaml.xml” FILE_NAME_GLOB=”*.yml” /> 下载

  • Share/Bookmark
2008年4月30日11:17 | 1 条评论
标签:

一个自动生成密码的密码生成器页面终于完工了,以后你就不必为注册时使用什么密码而发愁了,有兴趣者可以到http://www.firestudio.cn/randPass.php上面去测试和使用!

  • Share/Bookmark
2008年2月14日21:38 | 没有评论
分类: PHP编程
标签:

昨天搞了一天终于把我一直想整理和翻译的jEdit帮助手册里的jEdit快捷键部分给搞定了,希望能给用jEdit的用户一些帮助。单击这里Keyboard-Shortcuts(PDF)下载

  • Share/Bookmark
2007年12月14日10:16 | 没有评论
分类: PHP编程
标签:

昨天我安装了Symfony的一个插件并且试着使用了一番,发现sfSimpleCMSPlugin是一个很不错的内用管理系统,最起码管理起来很方便,很简洁,很使用。 sfSimpleCMSPlugin,说是Simple其实并不Simple, 只是使用起来相当的Simple。安装起来也比较Simple,和别的Sy mfony的安装方法差不多。只是在安装sfSimpleCMS之前必须安装sfPropelActAsNestedSetBehaviorPlugin。具体安装方法就要看sfSimpleCMSPlugin(http://trac.symfony-project.com/trac/wiki/sfSimpleCMSPlugin)和sfPropelActAsNestedSetBehaviorPlugin(http://trac.symfony-project.com/trac/wiki/sfPropelActAsNestedSetBeHaviorPlgin)的ReadMe了,在这里我就不多说了。 下面我们先来看一下它的界面: 这和普通的界面相比没什么两样。关键是后台管理就与别的大不相同咯~~,下面再看几张图: 再来两张编辑模式下的: 虽然功能很强大,挺NB的,不过有一点用着非常不爽。那就是在五种文本模式切换的时候一定要先update一下才能切换过去,这一点令我很郁闷。希望有关开发人员尽快解决这个问题,开发出一个更NB,更Simple的sfSimpleCMSPlugin出来!

  • Share/Bookmark
2007年9月21日14:35 | 没有评论
分类: PHP编程
标签:

我最近边用边学习Symfony框架,当然要用到很多Symfony的命令啦。但是我发现一个问题,同样Symfony也是用PHP写的,为什么 Symfony会给它自己的一些输入用上别的颜色,比如红色、蓝色、黄色……,还可以加上背景色等,为什么我写的就不行呢?我以前试着用过html代码, 比如说<span style=”color:#FF0000″>Some Text</span>之类的东西,但是在PHP命令行模式下面就按照原样输出来了。这一点使我很郁闷~~ 今天我把Symfony给PHP命令行模式输出上色的代码给找到了,并且研究了一番,结果发现是那么的容易就可以做到给PHP命令行模式的输出上色~~ 下面就来介绍以下吧,其实很简单的。 先看一个例子: (源代码) (输出) 下 面介绍以下代码的含义,其中”\033″这是八进制数字,在ASCII码表中是Sub,为必须;接着是个”[37;41;1m”,其中37在这里面代表前 景色为白色,41表示背景色为红色,1表示加粗,m是这些特殊代码于正常代码的分割线;接着是字符串“Hello World!”,这个不用说了。最后是”\033[0m”,当然是前面特殊字符串的结尾咯~~ 下面介绍以下那几个数字的特殊含义和其他的一些数字: 以3开始的两位数(本例中的37)表示前景色,只支持八种颜色 黑色:30 红色:31 绿色:32 黄色:33 蓝色:34 品红:35 青色:36 白色:37 以4开头两位数的是背景色,也只支持八种颜色 黑色:40 红色:41 绿色:42 黄色:43 蓝色:44 品红:45 青色:46 白色:47 (其实记住这些颜色的代码也是非常容易的,以黑色开头,白色结尾,红、律、绿、蓝为三原色,黄、品红、青为红与绿、红与蓝、绿与蓝的中间色,记住它们的排列规律就会很容易记住) 一位数的是对字符串有修饰作用的(比如加粗、下划线等),只有七种种(最起码我在视觉上只发现这些) 加粗:1 特细(不知道这么说合不合适,最起码我觉得必正常的要细):2 下划线:4 闪烁:5 前景色与背景色颜色倒置:7 隐藏:8 删除线:9 (不过闪烁我到没看到任何效果~~) 怎么样?简单吧!其实只要记住这些数字并把它们以分号“;”隔开放到”\003[“和”m”之间就Ok了,别的和普通的输出没有区别!

  • Share/Bookmark
2007年9月11日21:22 | 没有评论
分类: PHP编程
标签: