• 17
  • 十二月

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

Kenami 发布于 16:35:26  |  阅读 185 次 |  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>
?>

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

  • 30
  • 十一月

PHP 使用 cURL 函数验证 NTLM

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

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

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

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

查看全文>>

  • 04
  • 十二月

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

Kenami 发布于 00:09:57  |  阅读 491 次 |  评论  
//获得当前的脚本网址
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>
  • 12
  • 九月

[分享]我实践的一些WordPress高级应用

Kenami 发布于 15:12:19  |  阅读 650 次 |  评论  

WordPress是开源的PHP博客模板,其可以免费使用的插件成千上万,如果你想要的功能,没能找到合适的插件,其实简单的修改代码也能给你很多惊喜。

1、.htaccess文件修改,让博客更多彩:
合理的运用.htaccess的URL重写功能可以实现WORDPRESS不同分类页面的不同显示,例如本博客首页第一条显示全文,其他文章显示描述内容,全部文章显示文章标题和标签、分类,等…
这是如何实现的呢?我们先看.htaccess文件

RewriteEngine On
#404
ErrorDocument 404 /error_404.html
AddDefaultCharset UTF-8
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]
#/2008-09-03/92.html
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)\.html$ /index.php?action=post [L,NS,QSA]
#category/all
RewriteRule ^category/all$ /index.php?action=all [L,NS,QSA]
RewriteRule ^category/all/page/([a-z0-9\-]+)$ /index.php?action=all [L,NS,QSA]
#map
RewriteRule ^map\.html$ /index.php [L]
#/category/uncategorized
RewriteRule ^category/([\w\-\.]+)$ /index.php [L]
#/category/uncategorized/think
RewriteRule ^category/([\w\-\.]+)/([\w\-\.]+)$ /index.php [L]
#/2008/09
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /index.php [L]
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/page/([a-z0-9\-]+)$ /index.php [L]
#/2008/09/03
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)$ /index.php [L]
#tag/
RewriteRule ^tag/(.*)$ /index.php [L]
#feed
RewriteRule ^feed$ /index.php [L]
#comments/feed
RewriteRule ^comments/feed$ /index.php [L]
#about
RewriteRule ^about$ /index.php [L]


查看全文>>

  • 12
  • 九月

日文邮件,乱码问题

Kenami 发布于 13:49:46  |  阅读 1,014 次 |  评论  

 刚才通过 MpMailParser()类发邮件,发现标题过长时出现乱码。
其中 mb_encode_mimeheader($envelope->header->headers["subject"], “JIS”);
// 注意小绝招:主题和正文都要转,可以实现邮件里日文(其它文也一样,改成相应编码)的正常显示。
经zhoz多次测试:
当subject为:あああああああああああああああああああ时,邮件标题会显示成(最后有乱码):あああああああああああああああああああ(B
ああああああああああああああああああ这个长度正好!
于是乎,查了《PHP 中文手册》
mb_encode_mimeheader
(PHP 4 >= 4.0.6, PHP 5)

mb_encode_mimeheader — Encode string for MIME header
Description
string mb_encode_mimeheader ( string str [, string charset [, string transfer_encoding [, string linefeed]]] )


查看全文>>

  • 11
  • 九月

Linux下,PHP5 的编译安装傻瓜步骤

Kenami 发布于 10:29:25  |  阅读 1,165 次 |  评论  

很多人在安装php的时候都会遇到很多的问题,但是我想只要按照步骤一步一步的进行,仔细的查看输出结果,应该可以顺利的安装好PHP,也能体会到linux命令行带来的乐趣,下面我们一起开始安装PHP5吧,后面我还会写一些linux简单的配置和apache的相关文章。

cd /usr/local/src

wget http://jp.php.net/get/php-5.2.5.tar.gz/from/this/mirror

rpm -qa | grep php
rpm -e php-ldap-4.3.9-3.22.9 php-pear-4.3.9-3.22.9 php-4.3.9-3.22.9

#libcurl
rpm -qa | grep curl
rpm -e curl curl-devel

rpm -e curl-7.12.1-11.el4

查看全文>>