• 09
  • 三月

网站优化:压缩篇

Kenami 发布于 12:45:32  |  阅读 32 次 |  评论  

今天在站长站看到PHP如何使用gzip压缩页面的文章,自己研究了一下,基本有两种压缩页面的方法:

一、使用PHP,开启gzip功能进行压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
< ?php
if(Extension_Loaded('zlib')) Ob_Start('ob_gzhandler');
Header("Content-type: text/html");
?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
< ?php
for($i=0;$i&lt;10000;$i++){
echo 'Hello World!';
}
?>
</body>
</html>
< ?PHP
if(Extension_Loaded('zlib')) Ob_End_Flush();
?>

这种方法只能压缩html页面,对css、js等文件没有压缩
查看全文>>

  • 19
  • 一月

OneApp开发环境搭建

Kenami 发布于 17:36:52  |  阅读 112 次 |  评论  

操作系统

Windows7 旗舰版

开发工具

Microsoft Visual Studio 2010 Ultimate

Version 10.0.21006.1 B2rel

OneApp 版本

OneApp 2.0 SDK Beta

开发环境需求

Microsoft .NET Framework 3.5  

下载地址: http://www.microsoft.com/downloads/

 Microsoft Visual Studio 2010 Beta 2 

下载地址: http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx
查看全文>>

  • 17
  • 十二月

PHP用ob_start() 方法判断输出结果

Kenami 发布于 16:35:26  |  阅读 176 次 |  2 条评论  

今天遇到一个问题,PHP的一个方法返回的是一个打印信息,我在页面调用此方法就不能判断如果它打印空的情况(我想把方法打印空的情况用其他字符串代替)

因为这是一个通用的方法,也不是我写的,所以不能去更改方法本身。当然也不能用 if ( functionName() == NULL) 来判断,因为方法只是来输出一个字符串或者空值。

最后自己用了一个拙劣的方法,用ob_start() 来解决。下面是代码

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
ob_start();
previous_post_link('%link', '%title', false);
$previous_link = ob_get_contents();
ob_end_clean();
 
ob_start();
next_post_link('%link', '%title', false);
$next_link = ob_get_contents();
ob_end_clean();
 
<p>前一篇:&nbsp;<?= $previous_link == NULL ? "没有了" : $previous_link ?><br />后一篇:&nbsp;<?= $next_link == NULL ? "没有了" : $next_link ?></p>
?>

如果有某位大虾更好的方法,请留言告诉我~谢谢!

  • 02
  • 十二月

爱上Python

Kenami 发布于 22:28:32  |  阅读 213 次 |  3 条评论  

想学Python有段日子了,一直静不下心来,想想也应该多学一门语言了,所以,就从现在开始学吧。
因为之前搞php的,所以我也从 Python 的web编程学起。
这是 Python 的测试页面:http://py.onecho.com

Djnago

服务器环境:
Linux(CentOs5.2) + Apache + Python2.62 + mod_pyton,用的 Djnago 框架

  • 30
  • 十一月

PHP 使用 cURL 函数验证 NTLM

Kenami 发布于 11:18:50  |  阅读 145 次 |  1 条评论  

最近同事做了一个手机接口,对方的短信业务接口平台是.net,并使用NTLM登录,因为以前都没有做过此类的接口,所以,我也来帮着找找解决方法。
先看看什么是NTLM

NTLM是NT LAN Manager的缩写,这也说明了协议的来源。NTLM 是 Windows NT 早期版本的标准安全协议,Windows 2000 支持 NTLM 是为了保持向后兼容。Windows 2000内置三种基本安全协议之一

用php如何在页面程序里面登录NTLM呢?网上说了要用到cURL,自己在查了一下,获得了以下的方法:

查看全文>>

  • 20
  • 十一月

两台服务器间数据移植

Kenami 发布于 02:08:05  |  阅读 198 次 |  评论  

因为小说站24note(http://www.24note.cn) 所在的服务器的压力大,再加上软件的问题,导致服务器不稳定,虽然现在的方法是每隔1小时重启下apache,但是也不是长久之计,所以,今天晚上就加班把24note 上面的数据都移植到另外一台服务器上面。

其实数据移植并不困难,但是数据量真的太大了,小说站上面有大量的静态页、txt文件、手机小说书的jrd 文件等等,还有一个几百兆的数据库,所以就不能用传统的ftp来操作了。

linux 有很多很好的工具,来实现不同服务器间的数据移植。我用的是scp命令:

#scp -r 用户名@原数据所在服务器IP : 原数据的局对路径 当前服务器的数据存放位置

查看全文>>

  • 04
  • 十二月

最近做PHP采集,发几个实用的函数

Kenami 发布于 00:09:57  |  阅读 488 次 |  评论  
//获得当前的脚本网址
function get_php_url(){
if(!empty($_SERVER["REQUEST_URI"])){
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
}else{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
}
return $nowurl;
}
 <a href="http://www.onecho.com/2008-12-04/441.html#more-441" class="more-link"><br /><strong>查看全文&gt;&gt;</strong></a>
  • 17
  • 九月

WordPress标题不显示中文标签的解决办法

 发布于 16:41:28  |  阅读 1,243 次 |  3 条评论  

最近发现wordpress的一个bug,就是按标签查看时,如果标签含有中文,在页面的标题,也就是title没有显示所选标签。那如何解决呢?

下面是我的方法:

首先修改.htaccess 文件加上
RewriteRule ^tag/(.*)$ /index.php?tag=$1 [L] 
#说明:(.*)即使匹配所有包括中文和英文的标签值,然后把匹配后的值放在$1里面

也就是每个标签的页面跳转到index.php?tag=$1,这样我们就能通过GET方法等到这个标签的title了

然后我们打开主题对应文件夹下面的header.php页面,在<title>标签里面加上这段,如

<title>
<?php wp_title('');
if ($_GET['tag']) echo $_GET['tag'];
if (is_search() ) { ?>
 搜索 <?php echo $s; }
if ( !(is_404()) and (is_search()) or (is_single()) or (is_page()) or (function_exists('is_tag') and is_tag()) or (is_archive()) ) { ?>
&raquo; <?php }  ?>
<?php bloginfo('name'); ?>
</title>

这时不管打开的是中文或者英文的标签,都可以在标题上面正常显示了^_^ Good Luck

  • 14
  • 九月

解决WordPress 2.6日志ID不连续的方法

Kenami 发布于 16:36:37  |  阅读 499 次 |  评论  
核心提示:请注意这两个操作缺一不可,如果不启用“禁用WordPress自动保存的插件”,那么每篇文章都会出现一个自动保存的记录。

已经发布的WordPress 2.6版有一个很讨厌的功能,就是Post Revisions(文章的版本控制),在默认的情况下,日志的ID将不再连续,使用ID做为Permalink结构的用户将会看到一个地址越来越混乱的WordPress,现在我给一个解决WordPress的ID不连续的方法。

按照此文的方法,在wp-config.php文件中增加一行define(’WP_POST_REVISIONS’, false),同时安装“禁用WordPress自动保存的插件”,在WordPress后台启用此插件。

请注意这两个操作缺一不可,如果不启用“禁用WordPress自动保存的插件”,那么每篇文章都会出现一个自动保存的记录。

另外,对于数据库有“洁癖”的WordPress用户来说,可能想要删除由于Post Revisions导致的表内的垃圾信息,同时将ID设置为连续,下面是我写的一段SQL脚本,请在phpmyadmin中使用。

删除是Post Revisions垃圾信息,请执行:

delete from wp_posts where post_type = ‘revision’;

将ID重新设置为连续,这个比较麻烦,设置一个ID就要4条SQL语句,我仅仅举一个例子,将ID为59的文章修改为ID为58,需要执行以下语句。

update wp_posts set id = 58 where id = 59;

update wp_term_relationships set object_id = 58 where object_id = 59;

update wp_postmeta set post_id = 58 where post_id = 59;

update wp_comments set comment_post_ID = 58 where comment_post_ID = 59;

如果用户需要修改的文章较多,需要批量复制、修改和执行上面四行。

原创文章如转载,请注明:转载自月光博客 williamlong.info/

  • 13
  • 九月

[SEO]WordPress 优化之 robots.txt

Kenami 发布于 16:16:06  |  阅读 651 次 |  1 条评论  

来源:站长站

由于链接的的指向,而导致网站内容重复,一直是网站SEO的大忌。不同的链接指向同一个网页,就会被搜索引擎判定为作弊。昨天提到的WordPress重定向插件,在一定意义上也是为了阻止重复内容。然而,由于WordPress的结构原因,往往就会发生网页内容重复的状况。例如:http://www.domain.com/archive/1 和 http://www.domain.com/archive/1/feed两个网址下的内容就是一样的,所以,我们就必须想办法阻止这样的情况发生。

通常,解决重复内容的方法有:使用noindex标签,利用excerpt实现内容摘要,以及配置robots.txt。今天就主要说说在WordPress下使用robots.txt文件。

robots.txt文件就像一个网站的大门,它会告诉搜索引擎的蜘蛛,可以抓取哪里的网页内容,哪里的不能抓取。因此,配置好robots.txt文件,完全可以理想的组织blog内容重复的问题。robots.txt的具体文法和使用方法,可以参考robotstxt.org。在国内,此类的WordPress robots.txt比较流行:

查看全文>>