php中生成下载文件中文件头含空白行的解决办法

给日记本新增导出xml功能的时候在生成xml的下载文件时发现导出的xml中文件头居然多出了一行空白行,造成xml文件无法解析。以为是utf8编码的BOM头问题,可是linux下没这问题啊,以防万一把所有文件都用utf8无BOM编码保存了一遍,可是依旧如此,怪了。经过N次各种探索,最后发现居然是生成文件的页面多出了几行空白行,于是有了上述的问题。

解决办法更简单,删除那些空白行就行了

XML DOM类中文翻译

主要在这里纠结了半天,class太多,在php .net上面看manual看得想吐血,于是把主要的几个类翻译了,方便自己,也说不定能方便他人,当然如有翻译错误,请务必指正

DOMDocument类(继承于DOMNode)

1.类简介:代表整个html或xml文档,作为文档树的根。

- 全文阅读 -

php中cookie的path和domain说明

在写日记本程序的时候因为登陆和注销模块是写在子文件夹下的,在写入cookie的时候这样写:setcookie('cookiename','cookiesample',time()+3600),删除cookie的时候这样写setcookie('cookiename','',time()-1)。然后就发现悲剧了,在我没有登陆之前输入首页地址的时候正常,输入密码建立cookie了之后也正常,但是如果我这个时候再输入首页地址,点击。好了,有跳转到登陆界面去了。为什么呢?

找了半天没有找到解决办法,后来没办法,只好先把登陆和注销模块都放在根目录,先治标下。晚上再次思考这个问题的时候在浏览器那里跟踪cookie的值才发现问题,原来cookie的路径是给我设置的我登陆和注销模块的那个文件夹路径,而不是根目录,原来如此。

- 全文阅读 -

php中写入中文到mysql乱码问题

在写我的日记本程序的时候发现一个问题,当把文本提交到mysql时,发现数据库中的文本全部乱码了,但是读取的时候又完全正常。。。因为准备把typecho里面写的日记内容转出来在导入数据库的时候读取出来就全部是问号。google后找到解决办法。记录下

首先在create table的时候就应该指定charset为utf8(如果用phpmyadmin可以选择utf8-general-ci或者是gbk编码),but。。。如果仅仅这样做了还是会跟我一样发现写入到数据库的时候是一堆乱码-_-||。我就是在这里饶了很久,明明把编码设置对了的为何还是一堆拉丁符号呢!!!

经过一番探索,发现只需要在php中读取和写入的时候设置字符集才行。面向对象的方法就用mysqli::set_charset();面向过程的话就用mysqli_set_charset(),参数设置为utf8或者gbk,测试,正常:)

ubuntu下开启php错误提示

一直没开启php的错误提示,结果你懂得,几百行代码反反复复检查,捉虫捉得我都不知道发狂多少次,突然想起来,php不是有错误提示吗,干嘛不打开

1.修改php.ini,有两个地方,一个是在 /etc/php5/cli下,另外一个是在/etc/php5/apache2下,命令行不解释。。。

sudo gedit /etc/php5/cli/php.ini /etc/php5/apache2/php.ini

C-F找到display_errors=Off,把Off修改为On,再找到error_reporting,把error_reporting=E_ALL |这样修改为error_reporting=E_ALL |E_STRICT

- 全文阅读 -

随笔

昨晚回到宿舍后躺在床上看书正high,某搞教育类的舍友回来对大家说道:你们知道吗,同样一份工作,重本的毕业生一个价,二本一个价,三本一个价,专科一个价。。。一般我回宿舍只是静静地躺在床上看书很少讨论什么,当时却忍不住问了下他:那你有问过5年或者10年之后他们的差价还是如此吗?顿时把舍友给噎住转移了话题。

- 全文阅读 -