NextGEN Gallery
经典的一款Wrodpress图片画廊插件,可以通过上传zip压缩包的形式批量上传图片,非常强大。 继续阅读
NextGEN Gallery
经典的一款Wrodpress图片画廊插件,可以通过上传zip压缩包的形式批量上传图片,非常强大。 继续阅读
推荐一个wordpress置顶插件-WP-Sticky。
WP-Sticky插件的安装:
下载WP-Sticky 插件,将文件解压缩,上传到/wp-content/plugins/目录。
登录wordpress后台控制面板,点击“Plugins”找到上传的插件,激活该插件,你可以在后台的管理页面的Setting–>WP-Sticky,对这个插件进行相关的设置,你可以设置文章置顶的方式、设置显示的日期,你可以根据自己的需求进行适当的设置。
使用方法:
安装成功后,当你发布新文章的时候,会看到页面的右下方出现一个“Post Sticky Status”,除了Normal和Sticky外,还有一个Announcement的选项,此三者的差别如下:
Announcement:这个选项能实现置顶效果,一直都会留在最上头
Sticky:虽然也是置顶,但它只对那些与置顶文章同一天发表的其它文章有效,以后的文章还是会排到它的上面
Normal:预设值,不对文章进行任何设定,当想取消置顶的时候,就选这个选项。
这款插件使用起来很简单,安装也比较方便,不用加入任何代码。
备份和导入WordPress的友情链接也就是Blogroll的方法
备份
打开这个链接:http://maoegg.com/wp-links-opml.php,将里面的内容用记事本保存为OPML文件,即以”.xml”结尾的文件。最好把属性改为”utf-8″,因为WP语言支持是utf-8的。
把maoegg.com 换成你的域名.
导入
进入Manage > Links, 点击”add new“
会在侧边栏发现”Import Links“, 点击进入.
把刚才保存的.xml文件导入即可, 还可以选择链接分类.
注: 如果你的OPML文件保存在其它服务器上并且可以通过绝对路径访问, 那你也可以在左边的输入框输入OPML文件的URL地址.
如果我们要在根目录安装WordPress,根目录就会被WordPress的文件弄得很乱,如果再添加了自己的一些目录就更加难以维护了。不过还好,WordPress允许将Blog主页不同于 WordPress 的安装目录的Web地址,这样我们就可以把WordPress放在子目录中,只需要简单的设置便可以让链接形式仍以根目录显示。这篇文章翻译自WordPress官方文档,下面是译文:
把WordPress放在在单独目录中而让你的博客显示在根目录
很多人想让WordPress来驱动他们站点的根目录(例如:http://example.com),但是他们不想让所有的的WordPress文件把他们的根目录弄乱。WordPress允许你把WordPress文件放在一个子目录,同时让你的博客显示在站点的根目录中。
把WordPress放到单独它单独目录下的程序如下:
1、新建一个用来存放WordPress核心文件的新文件夹(本例以/wordpress示范)。
2、进入选项(options)面板。 继续阅读
1、获取特定时间内文章的代码
<?php
function filter_where($where = ”) {
//最近30天
//$where .= ” AND post_date > ‘” . date(‘Y-m-d’, strtotime(‘-30 days’)) . “‘”;
//最近第30-60天
//$where .= ” AND post_date >= ‘” . date(‘Y-m-d’, strtotime(‘-60 days’)) . “‘” . ” AND post_date <= ‘” . date(‘Y-m-d’, strtotime(‘-30 days’)) . “‘”;
//从2009年3月1日到3月15日的
$where .= ” AND post_date >= ‘2009-03-01′ AND post_date <= ‘2009-03-15′”;
return $where;
}
add_filter(‘posts_where’, ‘filter_where’);
query_posts($query_string);
?> 继续阅读
最新文章
<?php query_posts(’showposts=5′); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href=”<?php the_permalink() ?>”><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>
最新评论
<?php
global $wpdb; 继续阅读
1.后台编辑 主题 的 functions.php文件,在主循环语句(也就是第一个?php后面)输入以下代码,注意,一定要在第一个<? php后面,否则会提示出错:
可以看到,颜色是随机的,可以自行修改 $color = dechex(rand(0,16777215)); 这个参数来修改颜色显示范围,挑出你喜欢的颜色效果。
继续阅读
中文包由三部分组成:安装文件中文包(install_zh-CN.zip),前台中文包(zh-CN_site.zip),后台中文包(zh-CN_admin.zip)
适用于joomla1.6及joomla1.6.1
安装文件中文包(install_zh-CN.zip) 提取码:f51fe4bc20
前台中文包(zh-CN_site.zip) 提取码:f5d83562d9
后台中文包(zh-CN_admin.zip) 提取码:f5d1619ee0
注:本资源来自joomlask.com
另:
根据汉化团队的最新消息,汉化团队进一步完善了Joomla1.6的简体中文语言校定,这次整合了前台后的中文语言包为一个整体安装包!加上Joomla1.6.1的更新解决了语言包无法安装的问题。
| Joomla1.6.1_Simplified_Chinese_Package | 2011-03-14 11:00:00-05 | zh-CN.zip | 202 KB | 98 |
UTF-8匹配:
在javascript中,要判定字符串是中文是很简朴的。比如:
var str = “php编程”;
if (/^[\u4e00-\u9fa5]+$/.test(str)) {
alert(“该字符串全部是中文”);
}
else{
alert(“该字符串不全部是中文”);
}
php中,是用\x表示十六进制数据的。于是,变换成如下的代码:
$str = “php编程”;
if (preg_match(“/^[\x4e00-\x9fa5]+$/”$str)) {
print(“该字符串全部是中文”);
} else {
print(“该字符串不全部是中文”);
} 继续阅读
<?php
function is_mobile(){
// returns true if one of the specified mobile browsers is detected
$regex_match=”/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|”;
$regex_match.=”htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|”;
$regex_match.=”blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|”;
$regex_match.=”symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|”;
$regex_match.=”jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320×320|240×320|176×220″;
$regex_match.=”)/i”;
return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT']));
} 继续阅读
1.6.0版本的Joomla上传简体中文语言包,只可在后台登陆时选择语言。登陆进去后选择语言时没有新上传的语言选项。
在 Joomla 1.6 平台,只有通过“安装”或者“探测安装”(Discover)方式安装的语言,才会出现在语言列表上。因此,尽管我们已经把中文语言文件上传到了网站文件系统,但是由于没有经过“安装”过程,它就没有被保存在 jos_extensions 数据表里面,也就不会显示在“语言管理”的列表上。
解决办法很简单:既然我们已经实际上将中文语言文件上传到了网站,那就不必再次“安装”了,只需“探测”一次即可。
操作如下:
继续阅读
UNIX
编译PHP,不要加调试选项-否则ZO不会工作:在配置是加上–disable-debug选项
复制ZendOptimizer.so文件到你的机器,通常放在:/usr/local/Zend/lib下
在php.ini文件中加入如下两行,不要包含任何空格:
zend_optimizer.optimization_level=7
zend_extension=”/usr/local/Zend/lib/ZendOptimizer.so”
重新启动Apache服务器
WINDOWS
1、运行安装文件,首先提示你选择安装目录,选择一个你喜欢的目录,单击“Next”。
2、安装向导会要求你选择当前使用的WEB服务器(Apache、IIS或其它),选择好服务器后单击“Next”
3、安装向导提示您确认php.ini的位置(默认是C:\WINDOWS\)单击“Next”,提示“备份php.ini到C:\WINDOWS\php.ini-Optimizer-bak,当卸载该软件时可以恢复到原始的php.ini)单击“Next”。
4、安装向导提示“为了继续安装程序需要重新启动IIS服务)单击“是”,安装程序开始重新启动IIS服务,然后安装程序会提示“IIS服务顺利重新启动了”单击“确定”,再单击“finish”完成安装。
5、安装完毕后程序会自动根据你的选择来修改php.ini帮助你启动这个引擎。
Zend Optimizer的配置选项
zend_optimizer.encoder_loader 《== 是否允许处理由Zend Encoder加密的PHP文件。
zend_extension_ts 《== 优化器所在目录。
zend_extension_manager.optimizer_ts 《== 优化器管理所在目录。
优化过程 zend_optimizer.optimization_level 详细解释
这里最为重点的部分,仔细看!Zend Opt总共有10个优化过程,从理论上说开的越多性能越好。当然,理论和实际永远都存在着差距。优化过程开启的越多对性能消耗也相对也越大,Zend Opt的10个优化过程并不相同也就是说效果不是平均的。Zend公司定义的最高值(High模式)为15,这里15指的是开启1-4号优化过程。当然,很多朋友并不满足于此,毕竟最高也只开启4个优化过程连总数的一半都没有。各个优化过程的对应的数字代码(值)如下:
不使用 0 <= 如果这样不如不装,还能节约点内存说!
优化过程1(PASS1) 1
优化过程2(PASS2) 2
优化过程3(PASS3) 4
优化过程4(PASS4) 8
优化过程5(PASS5) 16
优化过程6(PASS6) 32
优化过程7(PASS7) 64
优化过程8(PASS8) 128
优化过程9(PASS9) 256
优化过程10(PASS10) 512
以何种方式开启优化过程是通过这些数字代码(值)相加所得的和作为此参数的参数值来控制的。如我的配置文件中zend_optimizer.optimization_level = 1023 , 这里的1023是优化过程1到优化过程10全部数字代码(值)相加得到的和,表示开启全部10个优化过程。刚才所提到的Zend公司定义的High模式值为15,15表示同时开启优化过程1-4。
加密代码支持 zend_optimizer.encoder_loader 详细解释
对于这个参数,我想如果没有看过Zend Opt FAQ文档的朋友大多数并不知道。这个参数用来告诉Zend Opt是否去支持被Zend Encoder加密过的代码。默认情况下Zend Opt将支持加密过的代码。如果不使用被加密过的代码我推荐你关闭此选项。这个功能牵扯到解包反码的过程,会导致系统负荷的加重。我的朋友已经开发完毕相应的反编译工具,预计春节之后推出。
这个参数的值只有两个 0 关闭, 1 开启。默认为1,推荐设置为0。
模块定位 zend_extension_ts 、zend_extension_manager.optimizer_ts无需解释,这些参数就是Zend Optimizer相关模块在硬盘上的安装路径。
如何获知Zend Optimizer是否在运行?
答案很简单,只要用PHP的函数phpinfo()来检测便知,如下所示:
<?
phpinfo();
?>
显示的结果中关于Zend Optimizer的部分就象下面这样:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
表示 Zend Optimizer for PHP优化成功了
换笔记本电脑了,以前做的东西也搬一下家,发现WAMPServer有更新了,就下载了最新版的WAMPSERVER2.1a的版本,自带的PHP是5.3了。
用以前的一个程序的时候发现了 Notice : Use of undefined constant 这个问题,一时想不出来怎么解决。网上查了一下,倒是有解决办法。
1、对于出现Notice: Use of undefined constant xxxx…只要给参数xxxx加上引号就OK了。
2、这些是 PHP 的提示而非报错,PHP 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。一般作为正式的网站会把提示关掉的,甚至连错误信息也被关掉
关闭 PHP 提示的方法:
搜索php.ini:
error_reporting = E_ALL
改为:
error_reporting = E_ALL & ~E_NOTICE
还有个不是办法的办法就是
在每个文件头上加
error_reporting(0); 虽然不好弄但是可以解决问题
个人觉得,牵涉到代码规范的问题,在自己做项目的时候还是不要关闭错误提示的好,还有建议用第一种方法。
以前用这种方式:
if($_SESSION[user]){ echo ’style=”display: none;”‘; }
现在改成比较规范的这样:
if(empty($_SESSION['user'])){ echo ’style=”display: none;”‘; }
以前直接 echo $_SESSION['user'] 现在改成
echo !empty($_SESSION['user']) ? $_SESSION['user'] : “” ;
MySQL日志文件一般在:/var/log/mysqld.log,下面是修改MySQL日志文件位置的方法。
本来改MySQL日志文件的位置,发现在/etc/my.cnf中怎么也改不了。
后来发现MySQL日志位是指定的:
[root@localhost etc]# ps aux|grep mysqld
root 11830 0.5 0.0 4524 1204 pts/0 S 03:03 0:00 /bin/sh /usr/bin/mysqld_safe –datadir=/data/mysql –socket=/var/lib/mysql/mysql.sock –log-error=/var/log/mysqld.log –pid-file=/var/run/mysqld/mysqld.pid
mysql 11890 3.7 0.1 40456 9076 pts/0 Sl 03:03 0:00 /usr/libexec/mysqld –basedir=/usr –datadir=/data/mysql –user=mysql –pid-file=/var/run/mysqld/mysqld.pid –skip-external-locking –port=3306 –socket=/var/lib/mysql/mysql.sock
root 11909 0.0 0.0 3908 664 pts/0 S+ 03:03 0:00 grep mysqld
chkconfig –list发现是chkconfig on指定的,
vim /etc/init.d/mysqld得知这里的已经配置。
get_mysql_option mysqld datadir “/var/lib/mysql”
datadir=”$result”
get_mysql_option mysqld socket “$datadir/mysql.sock”
socketfile=”$result”
get_mysql_option mysqld_safe log-error “/var/log/mysqld.log”
errlogfile=”$result”
get_mysql_option mysqld_safe pid-file “/var/run/mysqld/mysqld.pid”
mypidfile=”$result”
更改这里应该就行了
Smarty 3.0正式版已经于光棍节(11月11日)发布了,至于Smarty 3 的新特性,咱还没正式用,暂时就不评论了。
从目前看来更新的挺快,现在最新版是Smarty 3.0.4 ,也是一个稳定版。
不过更新速度倒是挺快的,一天一个版本,有时候一天两个版本。当你看到这篇文章的时候说不定已经又有新版的下载了。
经常会在网上看到有人问怎么将整个动态的网站静态化,其实实现的方法很简单。
<?php
//在你的开始处加入 ob_start();
ob_start();
//以下是你的代码
//在结尾加入 ob_end_clean(),并把本页输出到一个变量中
$temp = ob_get_contents();
ob_end_clean();
//写入文件
$fp = fopen(‘文件名’,’w’);
fwrite($fp,$temp) or die(‘写文件错误’);
?>
这只是最基本的方法,还不是很实用,因为网站是要更新的,要定期重新生成HTML
下面是我用的方法:
继续阅读
CKEditor3.4.2版是一个非常重要的维护版本,也是为下一个3.5版本做了一些前期处理工作,而 3.5 版本将在未来几周内发布。该版本更好的支持 Opera 和 IE9 浏览器,增强 BiDi 特性等等。
该版本是稳定的并建议所有 3.4 用户升级使用。
下载地址:http://ckeditor.com/download
CKEditor是新一代的FCKeditor,是一个重新开发的版本。CKEditor是全球最优秀的网页在线文字编辑器之一,因其惊人的性能与可扩展性而广泛的被运用于各大网站。
玩PHP也有一段时间了,看到网上、论坛关于哪个IDE好的争论,也用过几个IDE,身为菜鸟的我也发表一下个人观点。(如有不同观点,请不要喷俺,俺是菜鸟)
以下软件均为目前最新版:
eclipse-php-helios-SR1
eclipse在即使再变身都不会忘记它的老本行——Java,作为一个可以全身插满武器的超级大排插,它的威力是毫无质疑的,还有就是把浏览器预览集成到IDE中,方便预览。但功能强大也同样意味着体积的臃肿,有不少程序员对之又爱又恨。
性能:
安装文件:中(145M左右);
扩展性能:强;
代码提示:好;
中文支持:中(也有汉化的easy eclipse for php,但汉化效果一般); 继续阅读
1.echo和print的区别
PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后无返回值;print有返回值,当其执行失败时返回flase,因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。
$r = print “Hello World”;
这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。
2.include与require的区别
继续阅读
使用Smarty的时候开启了缓存,下面有3个简单的举例,新手们可以参考一下。
1、insert 法
定义一个函数显示时间的:
function insert_get_current_time(){
$timestamp=emptyempty($timestamp)?time():$timestamp;
$timeoffset=(int) ‘+8′;
return $ret=gmdate(“Y-n-j g:ia”, $timestamp + $timeoffset * 3600);
}
然后在模板中:
{insert name=”get_current_time”}
继续阅读