PHP安装文件小程序
在我们下载到的php或者asp的源码中,经常会看到 install.php 或者 install 目录,通过这个文件或者目录就可以将源码程序进行安装,这就是安装文件了。
关于安装文件的制作原理很简单:
1,首先是界面文件,其大概就是一个表单了,通常让我们填写mysql的配置信息,比如主机,用户名,密码,数据库名等。
2,而程序的执行文件是要建立一个 config.php 的配置文件,这个文件是通过php文件操作函数来建立的,首先检查建立路径的可写权限,如果有权限则按照一定规则进行新建,将我们在界面文件填写的配置信息建立到config.php中,可以完成config.php的建立。
3,关于数据库文件的制作:我们知道 mysql 数据库都可以通过其命令面板来建立,也就是 sql 语法来建立完成,其实php本身就是开源的项目,通过 sql 语句来建立数据库非常方便,这里我们把建立数据库,建立数据库,以及字段等都通过 sql 在 .php 文件里进行执行,即可以完成数据库的建立。
下面是一个由小虎博客完善及美化的一个通用php安装文件小程序,结构很简单,源码不是很多,就不打包下载了。
[code lang="php"]
";
}else{
echo "
一,数据库配置文件权限正确 |
---|
";
}
if(isset($_POST[install])){
$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 "
二,数据库连接失败!请检查连接参数 返回修改 |
---|
";
}else{
mysql_query("Create DATABASE `$mysql_dbname`");
mysql_select_db($mysql_dbname);
mysql_query("SET NAMES 'gb2312'");
$sql_query[] = "Create TABLE `contents` (
`Id` int(10) NOT NULL auto_increment,
`Title` int(10) default NULL,
`Contents` text,
`Author` varchar(50) default NULL,
`Times` int(10) default NULL,
`UpdateDate` datetime default NULL,
PRIMARY KEY (`Id`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=gb2312;";
$sql_query[] = "Create TABLE `title` (
`Id` int(10) NOT NULL auto_increment,
`Title` varchar(50) default NULL,
PRIMARY KEY (`Id`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=gb2312;";
foreach($sql_query as $val){
mysql_query($val);
}
$sql_query2[] = "Insert INTO contents VALUES ('1', '1', '添加内容测试。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('2', '1', '简单的一款PHP+MYSQL增删改查程序。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('5', '1', 'html5的新增的标签和废除的标签简要概述.', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('4', '1', '简单的内容管理系统CMS', 'PHP程序员', null, null;";
$sql_query2[] = "Insert INTO contents VALUES ('6', '1', 'HTML中fieldset标签概述及使用方法。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('7', '1', '简单的增删改查程序,适合刚入门的新手参照。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('8', '1', '编程如何进行入门。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('9', '1', 'PHP实例入门小程序。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('10', '1', 'PHP超简单的源码小程序。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('11', '1', '可进行收藏的代码文档。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('12', '1', '每页显示十条新闻,可更改pagesize值。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('13', '1', '如何利用工具导入.SQL文件数据库。', 'PHP程序员', null, null);";
$sql_query2[] = "Insert INTO contents VALUES ('14', '2', '脚本专栏的内容。', 'smiling', null, null);";
$sql_query2[] = "Insert INTO title VALUES ('1', '网页制作');";
$sql_query2[] = "Insert INTO title VALUES ('2', '脚本专栏');";
$sql_query2[] = "Insert INTO title VALUES ('3', '网络编程');";
$sql_query2[] = "Insert INTO title VALUES ('4', '脚本下载');";
$sql_query2[] = "Insert INTO title VALUES ('5', 'CMS教程');";
$sql_query2[] = "Insert INTO title VALUES ('6', '电子书籍');";
$sql_query2[] = "Insert INTO title VALUES ('7', '平面设计');";
$sql_query2[] = "Insert INTO title VALUES ('8', '媒体动画');";
$sql_query2[] = "Insert INTO title VALUES ('9', '操作系统');";
$sql_query2[] = "Insert INTO title VALUES ('10', '网站运营');";
$sql_query2[] = "Insert INTO title VALUES ('11', '网络安全');";
$sql_query2[] = "Insert INTO title VALUES ('12', '业界资讯');";
$sql_query2[] = "Insert INTO title VALUES ('13', '开发资料');";
$sql_query2[] = "Insert INTO title VALUES ('14', '相关下载');";
$sql_query2[] = "Insert INTO title VALUES ('15', '视频教程');";
$sql_query2[] = "Insert INTO title VALUES ('16', '项目供求');";
$sql_query2[] = "Insert INTO title VALUES ('17', '资源共享');";
$sql_query2[] = "Insert INTO title VALUES ('18', '常用工具');";
foreach($sql_query2 as $val2){
mysql_query($val2);
}
echo "";
rename("install.php","install.lock");
}
}
?>
[/code]