php学习小结20130403

1. {}花括号界定符。
http://shuimu.js.cn/php-syntax-rules-define-the-character-of-braces-detailed.html

2. 从数据库中拿到图片的名称,然后去到文件夹中取出图片用于显示。
//为了下载文件,需要知道文件的类型和大小。

//关于$ft的取得,《php与MySQL基础教程 第2版》上使用的是mime_content_type(),但是该函数在php5.3已经不用,说是用Fileinfo取代了,但是我使用Fileinfo也没有成功
$size = getimagesize($image);
$ft = $size['mime'];
$fs = filesize($image);
//设置基于MIME(http://zh.wikipedia.org/wiki/MIME)类型,使浏览器准备好接收文件。
header("Content-Type:$ft\n");
//设置待发送文件的名称。inline将在浏览器中显示发送的文件(图像),若设置成attachment,则会提示浏览器下载文件到用户的计算机上。
header("Content-disposition:inline; filename=\"$name\"");
//指示预期有多少数据。
header("Content-Length:$fs\n");
//发送文件数据本身,readfile函数读入一个文件,并立即把内容发送到Web浏览器。
readfile($image);

3.  (1)php编辑html代码时输入中文在浏览器中显示乱码;
    (2)mysql存储中文使用一种很奇怪的编码方式(不是乱码),读出后能正确显示到浏览器;
    (3)$_POST接收页面值出现乱码。
    
    (1)(2)解决方法:在header.html中加入meta标签,指明使用utf-8编码。
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    (3)是因为phpstorm未正确设置,同样的问题有用phpstorm打开中文文件乱码。解决方法如下:http://www.oschina.net/question/579821_103533
    
4. isset 与 empty的区别。
http://php.net/manual/en/types.comparisons.php  
个人愚见:isset看的是赋值与否,empty看的是赋值内容。

5. include, include_once, require, require_once的区别。
http://stackoverflow.com/questions/2418473/when-should-i-use-require-once-vs-include
个人愚见:include与require基本一样,差别是处理错误的方式不一样,发生错误时include()产生一个警告,然后程序继续执行;而require()产生一个致命错误,然后程序终止。
加上once是为了保证include(require)都只做一次。

posted @ 2013-04-03 17:27  emmac  阅读(132)  评论(0编辑  收藏  举报