- 17
- 十二月
PHP用ob_start() 方法判断输出结果
今天遇到一个问题,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>前一篇: <?= $previous_link == NULL ? "没有了" : $previous_link ?><br />后一篇: <?= $next_link == NULL ? "没有了" : $next_link ?></p> ?> |
如果有某位大虾更好的方法,请留言告诉我~谢谢!
- 30
- 十一月
PHP 使用 cURL 函数验证 NTLM
最近同事做了一个手机接口,对方的短信业务接口平台是.net,并使用NTLM登录,因为以前都没有做过此类的接口,所以,我也来帮着找找解决方法。
先看看什么是NTLM
NTLM是NT LAN Manager的缩写,这也说明了协议的来源。NTLM 是 Windows NT 早期版本的标准安全协议,Windows 2000 支持 NTLM 是为了保持向后兼容。Windows 2000内置三种基本安全协议之一
用php如何在页面程序里面登录NTLM呢?网上说了要用到cURL,自己在查了一下,获得了以下的方法:
查看全文>>
- 04
- 十二月
最近做PHP采集,发几个实用的函数
//获得当前的脚本网址 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>查看全文>></strong></a>
- 12
- 九月
[分享]我实践的一些WordPress高级应用
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
- 九月
日文邮件,乱码问题
刚才通过 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 的编译安装傻瓜步骤
很多人在安装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
查看全文>>
