php

php require 空行的产生原因与解决方法

2009-10-10

在php中使用require函数加载utf8文件的时候会产生一个空行,这是由于在windows环境下编辑文件的时候会产生几个识别utf8的字符,这些字符称为Unicode签名(BOM)。

最好的方法就是去掉这个BOM签名,可以通过在Dreamweaver中按Ctrl+J,在标题与编码中去除此选项!

配置php.ini路径

2009-03-06

php默认规定php.ini文件的路径必须在C:\windows路径下,其实这个路径是可以配置的。

我们可以简单的在apache中配置php的路径,在apache的conf\httpd.conf文件里面增加

# configure the path to php.ini
PHPIniDir "D:/php"

通过上面的配置就可以是php.ini与php.exe在同一个文件夹了。

据说系统会以下面的顺序查找php.ini的路径:

*conf\httpd.conf的PhpIniDir配置
*注册表键regedit值HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath
*当前工作目录(CLI)
*网站服务器WWW目录(SAPI),或PHP目录
*Windows目录C:\windows or C:\winnt,或者–with-config-file-path compile time option

当然是第一种方法最好!

上面那个顺序我没试,有兴趣的可以尝试一下。

参考:http://us2.php.net/manual/en/configuration.file.php

php页面跳转

2008-09-30

php只有一种方法,利用JavaScript的window.location是一种方法,利用html的meta的Refresh是一种方法。

代码

php的header

Header("Location: http://www.dreamdu.com/xhtml/");

JavaScript的window.location

echo "<script>window.location=\"http://www.dreamdu.com/xhtml/\";</script>"; 

HTML的meta的refresh

echo "<meta http-equiv=\"refresh\" content=\"0; url=http://www.dreamdu.com/\" />"; 

当时使用php的header方法是也可以为跳转定义html状态码

比如:

Header("HTTP/1.1 301 Moved Permanently");
Header("HTTP/1.1 307 Temporary Redirect");
Header("HTTP/1.1 303 See Other");

html状态码,可以在http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html里查看

如果是永久性的重定向,考虑到seo可以使用下面代码

Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.dreamdu.com/xhtml/");

php与js互传参数的问题

2008-06-25

经常有人问这个问题,总结出来方便以后学习,首先要理解客户端与服务器端的原理。

js属于客户端脚本语言,php属于服务端脚本语言,客户端向服务端传递变量只能使用html中的method提供的get、post方法,而服务端向客户端传递变量应使用打印字符串(echo)到客户端的形式。

比如:

php传递参数到js

$para="http://www.dreamdu.com/";
echo  "<script type=\"text/javascript\">var para=$para;</script>";

php的$para变量将参数传递给了js中的para变量

js传递参数到php

1,使用html表单传递。

2,也可以使用html链接上加参数把变量传给php程序

var para="http://www.dreamdu.com/";
self.location="dreamdu.php?site="+para;

PHP创建者Andi Gutmans炮轰java,java已经输掉现代web之战

2008-04-18

原文网址:http://andigutmans.blogspot.com/2008/03/java-is-losing-battle-for-modern-web.html

文章提出了java jvm在web平台的种种不足,而且提倡了使用LAMP开发web的方式。也提到了ms的.net对java的冲击。

以我的观点看,LAMP才是开发web的首选,好处很多啦!而java最适合的是开发大型的企业应用管理程序等。java构架太复杂,入手慢,对程序员要求高,等 这都是java的弱点。ms的.net也是如此。

99年左右有一段java热,很多大网站都改为java的了,比如163 sina,现在又开始向php靠拢了,向现在的sina blog,土豆网,豆瓣网等等,这些web2.0的平台几乎清一色的使用了php。事实摆在面前,我不用说什么了吧!

而且现在有太多开源的系统都是php平台的了,比如WordPress,mediaWiki,Discuz等。

很多html教程的浏览者在qq里问我,我现在学什么来做网站呀?是asp,还是java php? 我在这里郑重想你推荐LAMP Linux+Apache+Mysql+PHP Perl。

如果就是不想学php,那么asp也别学了,已经快被淘汰了,要学就学asp.net 并使用C#开发,数据库学SQLServer。或者学java也行加上Oracle数据库。

以后有人再问我,我就推荐这篇文章,不回答了,太累了。