php程序xml有必要学习吗,对初学者非常有用的PHP技巧

对初学者非常有用的PHP技巧

echo "I is : $i
';

}

echo print_footer();

那么,为什么你应该做输出缓冲呢:

你可以在将输出发送给浏览器之前更改它,如果你需要的话。例如做一些str_replaces,或者preg_replaces,又或者是在末尾添加一些额外的html,例如profiler/debugger输出。

发送输出给浏览器,并在同一时间做php处理并不是好主意。你见过这样的网站,它有一个Fatal error在侧边栏或在屏幕中间的方框中吗?你知道为什么会出现这种情况吗?因为处理过程和输出被混合在了一起。

8.当输出非HTML内容时,通过header发送正确的mime类型

请看一些XML。

?

1

2

3

4

5

6

7

$xml = '<?xml version="1.0" encoding="utf-8" standalone="yes"?>';

$xml = "

0

";

//Send xml data

echo $xml;

工作正常。但它需要一些改进。

?

1

2

3

4

5

6

7

8

$xml = '<?xml version="1.0" encoding="utf-8" standalone="yes"?>';

$xml = "

0

";

//Send xml data

header("content-type: text/xml");

echo $xml;

请注意header行。这行代码告诉浏览器这个内容是XML内容。因此,浏览器能够正确地处理它。许多JavaScript库也都依赖于header信息。

JavaScript,css,jpg图片,png图像也是一样:

JavaScript

?

1

2

3

4

5

6

header("content-type: application/x-javascript");

echo "var a = 10";

CSS

header("content-type: text/css");

echo "#p id { background:#000; }"

9.为MySQL连接设置正确的字符编码

曾碰到过unicode/utf-8字符被正确地存储在mysql表的问题,phpmyadmin也显示它们是正确的,但是当你使用的时候,你的网页上却并不能正确地显示。里面的奥妙在于MySQL连接校对。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

$host = 'localhost';

$username = 'root';

$password = 'super_secret';

//Attempt to connect to database

$c = mysqli_connect($host , $username, $password);

//Check connection validity

if (!$c)

{

die ("Could not connect to the database host:
". mysqli_connect_error());

}

//Set the character set of the connection

if(!mysqli_set_charset ( $c , 'UTF8' ))

{

die('mysqli_set_charset() failed');

}

一旦你连接到数据库,不妨设置连接字符集。当你在你的应用程序中使用多种语言时,这绝对有必要。

否则会发生什么呢?你会在非英文文本中看到很多的方框和????????。

10.使用带有正确字符集选项的htmlentities

PHP 5.4之前,使用的默认字符编码是ISO-8859-1,这不能显示例如? ? 这样的字符。

?

1

$value = htmlentities($this->value , ENT_QUOTES , 'UTF-8');

从PHP 5.4起,默认编码成了UTF-8,这解决了大部分的问题,但你最好还是知道这件事,如果你的应用程序使用多种语言的话。

【对初学者非常有用的PHP技巧】相关文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值