欢迎来到Heck's Blog,专业承接拿站、企业建站、仿站、网上商城架构、门户网站搭建、空间域名注册、软件定制等项目。关注网络安全,因为专注,所以专业,懂得放弃,才能收获。有事请发邮件至i@heckjj.com,请记住本站网址:http://www.heckjj.com,多谢。
9月25
php的file_get_contents获取不了QQ互联接口的返回值,晚上在用QQ的Authentication做用户登录,用QQ返回的code获取access_token的时候用
$response = file_get_contents($token_url);
var_dump($response); // output false
结果却是false,直接把$token_url,拷贝到浏览器里,却能显示出access_token值来。
一开始怀疑是不是服务器不能用file_get_contents,就用file_get_contents(http://www.hecks.tk/);
结果能显示出我博客的html代码来。
搜索该问题也没有找到答案,只好改用curl。
而且php的allow_url_fopen是开的“allow_url_fopen:On”
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $token_url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$response = curl_exec($ch);
curl_close($ch);
有哪位朋友知道的麻烦给指点下。
最后在IT问答网解决了,PHP中file_get_contents总是返回false?
$response = file_get_contents($token_url);
var_dump($response); // output false
结果却是false,直接把$token_url,拷贝到浏览器里,却能显示出access_token值来。
一开始怀疑是不是服务器不能用file_get_contents,就用file_get_contents(http://www.hecks.tk/);
结果能显示出我博客的html代码来。
搜索该问题也没有找到答案,只好改用curl。
而且php的allow_url_fopen是开的“allow_url_fopen:On”
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $token_url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$response = curl_exec($ch);
curl_close($ch);
有哪位朋友知道的麻烦给指点下。
最后在IT问答网解决了,PHP中file_get_contents总是返回false?
9月21
phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。
该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。
有几点要需要注意:
1、reader.php 中:将 require_once 'Spreadsheet/Excel/Reader/OLERead.php';改为 require_once 'oleread.inc';
2、example.php 中:修改 $data->setOutputEncoding('CP1251');为 $data->setOutputEncoding('CP936');或者是$data->setOutputEncoding('gbk');
3、修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));
不然中文会有问题。
繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。
修改 $data->read('jxlrwtest.xls') 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。
这是下载地址:
phpExcelReader:http://sourceforge.net/projects/phpexcelreader/
PHPExcel:http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Documents&referringTitle=Home
范例代码一:
该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。
有几点要需要注意:
1、reader.php 中:将 require_once 'Spreadsheet/Excel/Reader/OLERead.php';改为 require_once 'oleread.inc';
2、example.php 中:修改 $data->setOutputEncoding('CP1251');为 $data->setOutputEncoding('CP936');或者是$data->setOutputEncoding('gbk');
3、修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));
不然中文会有问题。
繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。
修改 $data->read('jxlrwtest.xls') 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。
这是下载地址:
phpExcelReader:http://sourceforge.net/projects/phpexcelreader/
PHPExcel:http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Documents&referringTitle=Home
范例代码一:
9月21
CentOS下Apache2以及PHP,Ruby,Python的安装
现在我们开始安装apache和php:
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel
编辑/etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.conf
然后改变DirectoryIndex:
[...]DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl[...]将apache注册为启动的服务:chkconfig --levels 235 httpd on
启动apache:
/etc/init.d/httpd start
安装mod_ruby
CentOS 5.3上没有mod_ruby,所以如果你要使用ruby必须自己编译安装mod_ruby。首先需要安装一些软件包:yum install httpd-devel ruby ruby-devel
现在我们开始安装apache和php:
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel
编辑/etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.conf
然后改变DirectoryIndex:
[...]DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl[...]将apache注册为启动的服务:chkconfig --levels 235 httpd on
启动apache:
/etc/init.d/httpd start
安装mod_ruby
CentOS 5.3上没有mod_ruby,所以如果你要使用ruby必须自己编译安装mod_ruby。首先需要安装一些软件包:yum install httpd-devel ruby ruby-devel
9月8
PHP向MySQL数据库中写入数据有三个步骤
:
1.PHP和MySQL建立连接关系
2.打开MySQL数据库
3.接受页面数据,PHP录入到指定的表中
1、2两步可直接使用一个数据库链接文件即可:
conn.php
:1.PHP和MySQL建立连接关系
2.打开MySQL数据库
3.接受页面数据,PHP录入到指定的表中
1、2两步可直接使用一个数据库链接文件即可:
conn.php
9月1
虽然说 LAMP 这个组合很不错
,但是如果想要架设一台同时支持 PHP、ASP、ASP.NET、JSP、Perl 的 Web 虚拟主机服务器,还是用 Windows 2003 的 IIS 6 最好。网上有很多介绍在 IIS 6 上配置 PHP 的文章,但是那些方法不是性能不好,就是升级麻烦。下面的方法可以让你在第一次配置好后,能够非常方便的进行升级。
这里所说的升级,是指从某个 php4 版本升级到另一个 php4 版本,或者从某个 php5 版本升级到另一个 php5 版本,而不是指从 php4 升级到 php5
。

准备:

1、一台安装好的 Windows 2003 服务器,并且已经安装了 IIS 6。
2、下载 windows 版的 PHP 二进制压缩包
安装:

解压缩 PHP 二进制压缩包到 C:\php 目录下(这里假设 C: 盘是系统盘,即安装了Windows 系统的盘,如果系统盘是 D: 盘,则解压缩到 D:\php 目录下,以此类推,下同)。
然后打开“我的电脑”->“属性”->“高级”->“环境变量”->“系统变量”->“path”,编辑其值,在前面增加下面的路径地址:
C:\php;C:\php\dlls;C:\php\extensions;C:\php\sapi;
将 php.ini-dist 或 php.ini-recommended 复制到 C:\Windows 目录下,并改名为 php.ini,一般正式发布网站的服务器用 php.ini-dist,而作为调试用的服务器用 php.ini-recommended 更好。当然一般情况下,这个 php.ini 还是需要根据实际情况来修改的。
下面来介绍一下几个必要的修改选项:
extension_dir = "C:\php\extensions"
这个是 PHP 扩展所放置的目录,请确保跟你实际安装的目录相同。
,但是如果想要架设一台同时支持 PHP、ASP、ASP.NET、JSP、Perl 的 Web 虚拟主机服务器,还是用 Windows 2003 的 IIS 6 最好。网上有很多介绍在 IIS 6 上配置 PHP 的文章,但是那些方法不是性能不好,就是升级麻烦。下面的方法可以让你在第一次配置好后,能够非常方便的进行升级。这里所说的升级,是指从某个 php4 版本升级到另一个 php4 版本,或者从某个 php5 版本升级到另一个 php5 版本,而不是指从 php4 升级到 php5
。
准备:

1、一台安装好的 Windows 2003 服务器,并且已经安装了 IIS 6。
2、下载 windows 版的 PHP 二进制压缩包
安装:

解压缩 PHP 二进制压缩包到 C:\php 目录下(这里假设 C: 盘是系统盘,即安装了Windows 系统的盘,如果系统盘是 D: 盘,则解压缩到 D:\php 目录下,以此类推,下同)。
然后打开“我的电脑”->“属性”->“高级”->“环境变量”->“系统变量”->“path”,编辑其值,在前面增加下面的路径地址:
C:\php;C:\php\dlls;C:\php\extensions;C:\php\sapi;
将 php.ini-dist 或 php.ini-recommended 复制到 C:\Windows 目录下,并改名为 php.ini,一般正式发布网站的服务器用 php.ini-dist,而作为调试用的服务器用 php.ini-recommended 更好。当然一般情况下,这个 php.ini 还是需要根据实际情况来修改的。
下面来介绍一下几个必要的修改选项:
extension_dir = "C:\php\extensions"
这个是 PHP 扩展所放置的目录,请确保跟你实际安装的目录相同。
8月24
最近忙于一项PHP项目,忙的焦头烂额
。昨天晚上加班到12点将模板解析部分进行了修改优化,今天早上开始测试,结果发现通过SESSION验证的所有功能都不能使用了。于是打开Firefox,使用firebug中的cookie插件查看,结果发现,session ID统统不见了,COOKIE里面更是一干二净,心中大惊
。
仔细排查下来,代码并无不妥。开始以为$GLOBALS和session冲突,但是经过试验发现二者没有影响。后来发现一个奇怪的问题,凡是有HTML代码块的地方,SESSION都会丢失。于是注释掉语句逐一排查。最后注释到header("content-type:text/html; charset=utf-8");的时候,SESSION不再丢失。于是怀疑是header语句失败才使Set-Cookie失败。于是将此语句前加一@ 屏蔽一切错误,但不见效果。于是怀疑Header语句位置不对,将其改到session_start()后,问题消失。
开始以为是header语句出错导致的,后来发现,header语句在session_start()前就会引起错误,在修改代码时我移动了header的位置,但并未注意!终于找到病因了,分享下给有同样问题的朋友
。
。昨天晚上加班到12点将模板解析部分进行了修改优化,今天早上开始测试,结果发现通过SESSION验证的所有功能都不能使用了。于是打开Firefox,使用firebug中的cookie插件查看,结果发现,session ID统统不见了,COOKIE里面更是一干二净,心中大惊
。仔细排查下来,代码并无不妥。开始以为$GLOBALS和session冲突,但是经过试验发现二者没有影响。后来发现一个奇怪的问题,凡是有HTML代码块的地方,SESSION都会丢失。于是注释掉语句逐一排查。最后注释到header("content-type:text/html; charset=utf-8");的时候,SESSION不再丢失。于是怀疑是header语句失败才使Set-Cookie失败。于是将此语句前加一@ 屏蔽一切错误,但不见效果。于是怀疑Header语句位置不对,将其改到session_start()后,问题消失。
开始以为是header语句出错导致的,后来发现,header语句在session_start()前就会引起错误,在修改代码时我移动了header的位置,但并未注意!终于找到病因了,分享下给有同样问题的朋友
。





