首先echo了一个页面头和尾(这里作成head.html和footer.html include进来更好.)
然后判断一个常量是否存在来判断是否已安装.(常量存在另一个配置文件config.php里,配置文件是安装成功时创建的.)
接下了判断config.php是否存在,存在就继续,不存在就打印错误页面,结束代码(为什么不自动创建一个?)
如果config.php不可写,尝试一次修改权限,不成功继续报错,成功继续.
尝试以写方式打开一次文件,不成功则报错,成功则继续.(我不知道这步有什么意思,据说windows下可能is_writeable返回true却打不开?)
读区$_post[]值,如果没有就设置默认值
判断是否点了install按钮
判断是否有错误输入信息,错误信息存在数组中.
判断是否支持mysql扩展,支持则继续,不支持结束.
尝试链接数据库,成功则设定数据库字符集和模式,选中数据库,选中不成功就创建数据库,创建的时候有个是否成功的判断,创建完了选择中数据库,再设定字符集和模式.(这样可以不需要事先建好数据库,但怎么知道选择失败就是没有库呢?创建之前要不要加个drop更好?)
判断有没有错误信息产生,没有则创建库,创建配置文件.
有错误就打印错误信息和提交表单.(第一次访问时没有错误信息,直接打印提交表单)
用到的函数:
error_reporting(E_ALL & ~E_NOTICE) //显示错误信息,除了E_NOTICE
eregi('WIN',PHP_OS) //忽略大小写的正则匹配
date_default_timezone_set() //设置默认时区,php5.1新特性
echo //打印字符串
defined //判断常量是否定义
exit() //退出程序
file_exists() //判断文件是否存在
is_writable() //判断文件是否可写
chmod() //修改文件权限
fopen() //打开文件
isset() //判断变量是否已定义
strlen() //计算字符串长度
function_exists() //判断函数是否可用(用这个来判断是否支持mysql扩展)
mysql_get_server_info() //获取服务器版本信息
mysql_query() //执行sql代码
MYSQL_SELECT_DB() //选中数据库
mysql_error() //输出mysql错误信息
define() //定义常量
md5() //计算
ftruncate() //截断文件(可以用来清空文件)
fwrite() //往文件写入内容
mysql_errno() //输入mysql错误编号
gmdate() //返回与时区无关的GMT时间
count() //算一个数组中有几个元素