PHP网站安装程序制作的原理、步骤、注意事项和示例代码
2015-01-24信息快讯网
其实PHP程序的安装原理无非就是将数据库结构和内容导入到相应的数据库中,从这个过程中重新配置连接数据库的参数和文件,为了保证不被别人恶意使用安装文件,当安装完成后需要修改安装文件。
1.制作PHP安装程序的原理
其实PHP程序的安装原理无非就是将数据库结构和内容导入到相应的数据库中,从这个过程中重新配置连接数据库的参数和文件,为了保证不被别人恶意使用安装文件,当安装完成后需要修改安装文件。
2. 制作PHP安装程序的步骤
step1 检查目录或文件的权限
step2 修改或填加配置文件
step3 检查配置文件正确性
step4 导入数据库
step5 锁定或删除安装文件
3.制作安装用到的PHP函数
检查文件是否可写,返回布尔值:is_writable("data/config.php");
检查文件是否可读,返回布尔值:is_readable("data/config.php");
fopen() 文件操作函数,打开一个文件或新建
fwrite() 文件操作函数,写入内容到文件
rename() 文件操作函数,给文件改名
4.注意事项
(1).对文件和相关文件夹权限进行检查,如缓存,生成文件,配置文件
(2).安装文件尽可能独立,可删除,可改名。
(3).数据库导入时,需检查:
a.检查是否有建立数据库的权限
b.是否同名数据库的存在
c.考虑到数据库导入的大小是否分段处理
(4).检查配置环境,各种模块的支持情况,如:gd2, pdo,rewirte等
5.示例代码如下
<?php $files="data/config.php"; if(!is_writable($files)){ echo "<font color=red>不可写!!!</font>"; }else{ echo "<font color=green>可写</font>"; } if(isset($_POST[install])){ $config_str = "<?php"; $config_str .= "\n"; $config_str .= '$mysql_host = "' . $_POST[db_host] . '";'; $config_str .= "\n"; $config_str .= '$mysql_user = "' . $_POST[db_user] . '";'; $config_str .= "\n"; $config_str .= '$mysql_pass = "' . $_POST[db_pass] . '";'; $config_str .= "\n"; $config_str .= '$mysql_dbname = "' . $_POST[db_dbname] . '";'; $config_str .= "\n"; $config_str .= '$mysql_tag = "' . $_POST[db_tag] . '";'; $config_str .= "\n"; $config_str .= '?>'; $ff = fopen($files, "w+"); fwrite($ff, $config_str); //===================== include_once ("data/config.php"); //嵌入配置文件 if (!@$link = mysql_connect($mysql_host, $mysql_user, $mysql_pass)) { //检查数据库连接情况 echo "数据库连接失败! 请返回上一页检查连接参数 <a href=install.php>返回修改</a>"; } else { mysql_query("CREATE DATABASE `$mysql_dbname`"); mysql_select_db($mysql_dbname); $sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log1` ( `id` int(8) unsigned NOT NULL auto_increment, `username` varchar(40) NOT NULL COMMENT '操作用户名称', `types` varchar(60) NOT NULL, PRIMARY KEY (`id`) ) ;"; $sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log2` ( `id` int(8) unsigned NOT NULL auto_increment, `username` varchar(40) NOT NULL COMMENT '操作用户名称', `types` varchar(60) NOT NULL, PRIMARY KEY (`id`) ) ;"; $sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log3` ( `id` int(8) unsigned NOT NULL auto_increment, `username` varchar(40) NOT NULL COMMENT '操作用户名称', `types` varchar(60) NOT NULL, PRIMARY KEY (`id`) ) ;"; foreach($sql_query as $val){ mysql_query($val); } echo "<script>alert('安装成功!');location.href='index.php'</script>"; rename("install.php","install.lock"); } } ?> <hr size=1> <form action="" method="POST"> 填写主机:<input type="text" name="db_host" value=""/><br> 用 户 名:<input type="text" name="db_user" value="root"/><br> 密 码:<input type="text" name="db_pass" value=""/><br> 数据库名:<input type="text" name="db_dbname" value="php100_db"/><br> 数据前缀:<input type="text" name="db_tag" value="p_"/><br> <button type=submit name=install>下一步</button> </form>
PHP求小于1000的所有水仙花数的代码
php 带逗号千位符数字的处理方法
php mysql 判断update之后是否更新了的方法
用PHP实现小写金额转换大写金额的代码(精确到分)
php 字符串替换的方法
php读取mysql乱码,用set names XXX解决的原理分享
php urlencode()与urldecode()函数字符编码原理详解
PHP中实现中文字符进制转换原理分析
PHP性能优化准备篇图解PEAR安装
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
discuz程序的PHP加密函数原理分析
php 数据库字段复用的基本原理与示例
php whois查询API制作方法
提高define性能的php扩展hidef的安装和使用
php debug 安装技巧
php 5.3.5安装memcache注意事项小结
PHP5中使用PDO连接数据库的方法
PHP Stream_*系列函数
php下目前为目最全的CURL中文说明
php feof用来识别文件末尾字符的方法
apache+php+mysql安装配置方法小结
PHP 作用域解析运算符(::)
PHP STRING 陷阱原理说明
在Windows系统上安装PHP运行环境文字教程
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Windows7下PHP开发环境安装配置图文方法
php 上一篇,下一篇文章实现代码与原理说明
php 仿Comsenz安装效果代码打包提供下载
PHP 采集程序原理分析篇
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
PHP 分页原理分析,大家可以看看
PHP+MySQL 制作简单的留言本
PHP+XML 制作简单的留言本 图文教程
php 验证码制作(网树注释思想)
PHP分页显示制作详细讲解