比如,php的文件系统函数(如file_get_contents)打开文件时默认查找文件的位置,和包含函数(如include、require)包含文件时查找的位置是不一样的。
例如文件目录结构为:
/index.php
/functions.php
/inc
/inc/init.php
/inc/functions.php
在/blog/index.php包含了init.php,在init.php中存在如下代码:
file_get_contents(‘functions.php’);
include(‘functions.php’);
file_get_contents函数会在主执行文件(即/index.php)所在的目录(即/)中搜寻,找到/functions.php文件,而include函数却会在被包含文件(即/inc/init.php)所在的目录(即/inc)中搜寻,找到/inc/functions.php文件。
但是,如果改成:
file_get_contents(‘./functions.php’);
include(‘./functions.php’);
它们的搜寻目录就一致了,都是在主执行文件所在目录(即/)进行搜寻,找到文件/functions.php。这是因为相对目录符号”.”,是以主执行文件的目录为参照对象的。

PHP提供了命令行模式的开发方法:cli,它可以用PHP来开发可以在命令行环境下执行的shell程序。
前提:mysql只支持英文内容的全文索引,所以只考虑英文的全文搜索。假定数据表名为post,有三列:id、title、content。id是自增长序号,title是varchar,content是text,给content添加全文索引。
最近在用sqlite做一些小东西,所以需要找个好用的sqlite管理工具,桌面版的找了一堆,比如sqlite spy、sqlite admin、sqlite developer等等,这些桌面软件要么缺少中文版、要么功能太简陋、要么操作很别扭,总之我都不满意,虽然之前在firefox下用过一个用于sqlite管理的插件,各方面都还过得去,可我现在主要使用chrome浏览器,不可能为了管理sqlite特意再开个firefox。绕了一圈我又重新拿起了原本用过的PHP版的SqliteManager(还有款桌面工具也叫这个名字,不过它们的雷同实属巧合),它和所有PHP人都熟悉的PHPMyAdmin非常类似,不需要浪费你哪怕一分钟的时间去上手,打开就会用,也有多语言支持——看来还是PHP人最了解PHP人需要什么样的工具啊。