ssh使用命令nohup php-cgi后台运行PHP

2010年6月10日 yanglu 177 views 5 条评论

使用ssh远程登录服务器的时候,要进行后台任务操作(比如采集),可以用命令nohup php-cgi来运行php,这样就可以关掉ssh客户端后还会在服务器上运行,运行的输出结果记录在用户目录下的nohup.out文件。

分类: Debian, PHP 标签: ,

如何制作IE8网页快讯

2010年6月6日 yanglu 129 views 2 条评论

IE8网页快讯

IE8网页快讯


IE8给我们带来的一大特点功能,用户使用它后,每次不必打开你的网页即可在收藏夹看到你网站的最新讯息。
网页快讯制作起来非常简单,只需要在要加入的地方使用特定的CSS名称即可,如下:

<div id="homegrids" class="hslice">
<h2 class="entry-title">IE8网页快讯</h2>
<ul class="entry-content">
	<li><a href="...">内容1</a></li>
	<li><a href="...">内容2</a></li>
	<li><a href="...">内容3</a></li>
	<li><a href="...">内容4</a></li>
	<li><a href="...">内容5</a></li>
</ul>
</div>

大家可以看到在div上面有一个hslice的css class,这个class表示这个div内的内容是一个网页快讯,同时要求这个div必须指定id;还有两个固定的css分别是entry-title和entry-content分别表示网页快讯的标题和内容元素。这个神奇的功能需要我们做的事情就是指定一个id和三个css的class

分类: 网页制作 标签:

针对IE的页面设计不可忽视的问题

2010年6月5日 yanglu 121 views 没有评论

在实际的网站开发中,我们经常会发现IE浏览器对资源的限制,这让人很郁闷,在不了解的时候,会浪费我们很多时间去捉虫。现在我们将IE对页面资源的限制列出来,在开发中避免这些限制。 阅读全文…

分类: 网页制作 标签:

SMARTY模板中如何使用get,post,request,cookies,session,server变量

2010年4月26日 yanglu 431 views 2 条评论

{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量。例如,直接在模板中访问页面请求变量、获取访问模板时的时间邮戳、直接访问PHP中的常量、从配置文件中读取变量等。该保留变量中的部分访问介绍如下。

1.在模板中访问页面请求变量

我们可以在PHP脚本中,通过超级全局数组$_GET、$_POST、$_REQUEST获取在客户端以不同方法提交给服务器的数据,也可以通过$_COOKIE或$_SESSION在多个脚本之间跟踪变量,或是通过$_ENV和$_SERVER获取系统环境变量。如果在模板中需要这些数组,可以调用Smarty对象中的assign()方法分配给模板。但在Smarty模板中,直接就可以通过{$smarty}保留变量访问这些页面请求变量。在模板中使用的示例如下所示: 阅读全文…

分类: PHP 标签: ,

使用CDN加速后对PHP获取IP的影响

2010年4月16日 yanglu 251 views 没有评论

一直都是使用DISCUZ的获取客户端IP的函数,但今日发现网站使用CDN加速后,网站统计出了问题,获取到的IP有部分是CDN节点的IP,而程序统计是以唯一IP判断,导致统计到的IP比实际IP少很多。改动获取IP的函数后恢复正常。
原获取IP的方法:

if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$onlineip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$onlineip = $_SERVER['REMOTE_ADDR'];
}
 
preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
$onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';
unset($onlineipmatches);

阅读全文…

分类: Discuz!, PHP 标签: , ,

MySQL创建、删除、重建和查看索引

2010年4月13日 yanglu 288 views 没有评论

MySQL创建、删除、重建和查看索引命令、掌握创建索引、删除索引、重建索引和查看索引的命今。

1,创建索引(PRIMARY KEY,INDEX,UNIQUE)
支持创建主键索引,联合索引和普通索引命令

mysql>ALTER TABLE tbl_name ADD INDEX index_name (column list);
mysql>ALTER TABLE tbl_name ADD UNIQUE index_name (column list);
mysql>ALTER TABLE tbl_name ADD PRIMARY KEY index_name (column list);

2,删除索引(PRIMARY KEY,INDEX,UNIQUE)
支持删除主键索引,联合索引和普通索引命令

mysql>ALTER TABLE tbl_name DROP INDEX index_name (column list);
mysql>ALTER TABLE tbl_name DROP UNIQUE index_name (column list);
mysql>ALTER TABLE tbl_name DROP PRIMARY KEY index_name (column list);

阅读全文…

分类: PHP 标签:

使用 head 和 tail 以块方式读取文本流

2010年2月25日 yanglu 526 views 4 条评论

假定您想只处理文件的一部分,譬如头几行或后几行,那您该怎么做呢?请使用 head(它将头 10 行发送至标准输出)或 tail (它将后 10 行发送至标准输出)。
在处理较大日志文件时,这2个命令显得很实用,比如用如下命令可以把日志的倒数10000行导出到新的文件tmp.txt,这样就能避免打开超大文件的困难。

tail apache.log -n 10000 >tmp.txt

分类: Debian 标签:

QQ验证

2010年2月10日 yanglu 466 views 3 条评论

来个QQ邮箱订阅博客认领QQREADER4C63488A709CF2C9

分类: 个人杂谈 标签:

IE的Ajax缓存问题解决方法

2009年12月30日 yanglu 691 views 3 条评论

 IE对Ajax请求使用缓存,可以说有好有坏,但在用到即时数据请求时,就需要防止IE缓存Ajax,具体方法:
在AJAX请求页面后加个随机函数,比如使用随机时间函数。
在javascript发送的URL后加上qtime=Math.random(),例如:

URL+"&"+"qtime="+Math.random();
分类: jQuery 标签: ,

php正则匹配中文

2009年12月10日 yanglu 758 views 2 条评论

php正则匹配中文的方法:

$str = "04aol汉字";
$pattern = "/^(\d{2})([A-Za-z]{3})([".chr(0xa1)."-".chr(0xff)."]+)$/";
if(preg_match($pattern, $str, $tmp))
{
  var_export($tmp);
}

显示结果:

array (
  0 => '04aol汉字',
  1 => '04',
  2 => 'aol',
  3 => '汉字',
)
分类: PHP 标签: ,