PHP的header可以输出http头部信息,前提是,在header之前不能输出任何内容,因为所有的内容都作为http的body输出给客户端了,一旦有body的内容,就不可能再添加任何head部分的信息。 header函数的一个常用的方式就是用来做转向,redirect。 比如,我需要转到某个地址,只要执行下述代码: 浏览器会收到一个302的http状态码,告诉他这个内容已经被转移了。 重要的是,php会在调用header函数后,继续执行后面的代码,你可以用我的代码亲自试验一下: 肯定会执行到fwrite函数的,打开header.txt文件,检查时间! 对此,解决的办法是,要在每一个header函数后面加上exit,保证当前页面停止执行,进而转向location指定的地址。 为了避免到处都是exit,可以写一个专门用作转向的函数,比如: 另,为了避免在header之前输出body的内容,许多php框架都采用了php页面尾部不写?>的方式,因为有些人总习惯在?>后面添加一个换行,这真的是个不好的习惯。
Web开发
PHP 基础
这是很简单的一个问题,但是我做错了。 我在这里这么强调他的简单,你肯定会比较注意他的陷阱。 但是,在你的代码里,会不会也有类似的情况呢?你还会注意到这些细节上的问题吗? 一次性答对的,说明你的基础比较扎实了。 你慢慢看我写的其他文章吧,我回去补课了……
解决 PHP UTF-8 编码问题
PHP文件本身必须是UTF-8编码。不像Java会生成class文件,避免这个问题。 PHP要输出头:header(“Content-Type: text/html; charset=UTF-8”) meta标签无所谓,有header所有浏览器就会按header来解析。(Leakon观点:我认为很有必要正确设置meta信息,搜索引擎会关心这个设置的) 所有外围都得用UTF-8,包括数据库、JavaScript、CSS。 PHP本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码(基本上linux都装了,没装的话download、tar、make、make install,很简单的) my.cnf: [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 default-storage-engine=MyISAM 在[mysqld]下加入: […]
IE 无法打开 pdf rar http协议 cache-control
前两天在开发过程中遇到一个问题,用php做了一个下载文件的程序。 点击文件链接,如果是pdf、rar等类型的文件,浏览器会询问是打开还是保存。如果选择保存,把文件保存到硬盘上,就可以正常打开,但选择打开,就会出现问题,IE会提示“文档已损坏”。 反复检查问题,包括检查header的Content-type,都是正常的,没有问题,而且用Firefox不管是选择打开还是保存都正常。 以为是浏览器的问题了,后来,试着改了一下http头,加上了header(“Cache-Control:”),就可以解决了,里面不能使NO-CACHE。 看来在细节上,Firefox比IE考虑得更周到一些!
CSS 图片 垂直 布局 与文字对齐 vertical-align
在 HTML 代码中,有时会需要在文字旁边加上一个图标。 默认情况,是图片置顶对齐,文字置底对齐,这样一来,文字和图片排列在一起就很难看,如图: 代码是: 更多 查一下CSS2手册,找到vertical-align的属性,可接受的参数值如下: baseline |sub | super |top |text-top |middle |bottom […]
CVS 相关
告诉 CVS 仓库放在哪里 有几种方法告诉 cvs 仓库的位置。一种方法是通过命令行显式指名仓库,具体方法是用 -d (表示“目录”)选项: cvs -d /usr/local/cvsroot checkout yoyodyne/tc 你也可以给环境变量 $CVSROOT […]
xampp xdebug configure phpize php-config
看标题,不太会理解这篇文章的主题,只不过是有着微妙关联的几个软件,按照时间顺序发生在了我的身上。 xampp,是一个集成的 apache + php + mysql + … 的开发环境,如果你是做 web 开发,对各种服务器软件的安装比较头疼,尤其是在 unix 下编译和配置各种软件没有经验的时候,这个软件就能帮大忙了。只要下载回去,解压到 /opt […]
ColorSpy 屏幕取色 绿色软件
软件的功能就不多说了,做 Web 开发经常会用到的,保存在服务器上,随时可以下,省得到处找了。 下载链接:ColorSpy
设置 innerHTML 属性 导致 未知的运行时错误 IE bug
在用 Javascript 更改 HTML 代码的时候,经常会用到某个对象的 innerHTML。在读写标签内的代码或字符串时非常方便。 但 IE 对这个属性的支持不太好,经常容易报出 “未知的运行时错误”,而同样的操作,在 FireFox 和 Opera 下面就都没问题。 到百度和 […]
MySQL 数据导出 数据导入 备份 还原 编码 字符集
数据导出 完整数据库备份 mysqldump -uroot -p123456 –opt –default-character-set=gbk database_name > database_dump.sql 注意: 1 加上 ” –opt […]