[PHP]Pear的使用
1. PEAR的安装, 这里介绍利用PHP5自带的BAT文件安装,需要能上网。
a. 在PHP5目录下找到go-pear.bat,双击安装(保证能上网, 以便下载),BAT自动从网上下载PEAR所需的东西;
b. 按照提示输入一些设置信息,主要是要把局域网的网关加上,如http://192.168.0.1:80/ , pear要用这个地址访问Internet,若无代理服务器则直接回车
c. 然后会提示一些包和PHP绑定,选择Y
2. 安装完PEAR后, 以下示例具体调用:
<?php
require_once 'DB.php';
//$dsn = 'sqlite:///E:/web2/Web_TY/sqlite/data/tydb.db?mode=0666';
$dsn = array(
'phptype' => 'mysql',
'username' => 'root',
'password' => '666666',
'hostspec' => 'localhost',
'database' => 'MyDbName'
);
$options = array(
'debug' => 2,
'portability' => DB_PORTABILITY_ALL
);
$db =& DB::connect($dsn, $options);
if (DB::isError($db)) {
die($db->getMessage());
}
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$res =& $db->query('select * from counter');
if (DB::isError($res)) {
die($res->getMessage());
}
printf("行为:%d,列为:%d<br>", $res->numRows(), $res->numCols());
?>
3. pear使用遇到的问题
a. 测试pear对Sqlite的支持,安装过程中发现,老是提示php_pdo.dll等无法加载,导致无法支持Sqlite的数据操作。更换新的php版本后,加载错误没有了!但在修改php.ini的include_path后(使其包含smarty库的lib目录),发现pear库的DB操作又无法进行了。发现pear库的DB连接设置和php.ini中的include_path有关,如果包含其它路径,将导致pear库不能使用。
b. 测试使用Sqlite Database。发现php无法识别lite.db,怀疑是由于php支持sqlite的版本(2.8.2),比本机器的版本(3.0.3)低,导致无法识别该db。
相关文档:
iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。
1、下载libiconv函数库http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz;
2、解压缩tar -zxvf libiconv-1.9.2.tar.gz;
3、安装libiconv
#configure --prefix=/usr/local/iconv
#make
......
定义和用法
htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >
语法
htmlspecialchars(string,quotestyle,character-se ......
为了脚本程序的兼容性,很多时候脚本的名称都不是固定的。所以我们需要通过动态获取当前脚本的路径、文件名来完成某些功能。
PHP 中,我们可以使用常量 __FILE__ 来获取当前被执行脚本的完整路径。
注意:当包含此变量的脚本被其他脚本include或者require的时候, __FILE__ 将仍然返回此脚本的地址,而不是 ......
每次我们访问 PHP 脚本的时候,都是当所有的PHP脚本执行完成后,我们才得到返回结果。如果我们需要一个脚本持续的运行,那么我们就要通过 PHP 长连接的方式,来达到运行目的。
每个 PHP 脚本都限制了执行时间,所以我们需要通过 set_time_limit 来设置一个脚本的执行时间为无限长;然后使用 flush() 和 ob_flush() ......