PHP安装文件小程序
发布:smiling 来源: PHP粉丝网 添加日期:2013-11-16 22:33:16 浏览: 评论:0
在我们下载到的php或者asp的源码中,经常会看到 install.php 或者 install 目录,通过这个文件或者目录就可以将源码程序进行安装,这就是安装文件了。
关于安装文件的制作原理很简单:
1,首先是界面文件,其大概就是一个表单了,通常让我们填写mysql的配置信息,比如主机,用户名,密码,数据库名等。
2,而程序的执行文件是要建立一个 config.php 的配置文件,这个文件是通过php文件操作函数来建立的,首先检查建立路径的可写权限,如果有权限则按照一定规则进行新建,将我们在界面文件填写的配置信息建立到config.php中,可以完成config.php的建立。
3,关于数据库文件的制作:我们知道 mysql 数据库都可以通过其命令面板来建立,也就是 sql 语法来建立完成,其实php本身就是开源的项目,通过 sql 语句来建立数据库非常方便,这里我们把建立数据库,建立数据库,以及字段等都通过 sql 在 .php 文件里进行执行,即可以完成数据库的建立。
下面是一个由phpfensi.com完善及美化的一个通用php安装文件小程序,结构很简单,源码不是很多,就不打包下载了。
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
- <link href="style.css" rel="stylesheet" type="text/css" />
- <title>夏日通用PHP安装文件小程序</title>
- <style type="text/css">
- /*全局样式*/
- body { font-family: "宋体"; font-size: 12pt; color: #333333; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;}
- table{ font-family: "宋体"; font-size: 9pt; line-height: 20px; color: #333333}
- a:link { font-size: 9pt; color: #333333; text-decoration: none}
- a:visited { font-size: 9pt; color: #333333; text-decoration: none}
- a:hover { font-size: 9pt; color: #E7005C; text-decoration: underline}
- a:active { font-size: 9pt; color: #333333; text-decoration: none}
- /*全局样式结束*/
- .style1 {color: #FF0000}
- </style>
- </head>
- <body>
- <?php
- $files="data/config.php";
- if(!is_writable($files)){
- echo "<table width='365' border='0' align='center' cellpadding='5' cellspacing='1' bgcolor='#C2C2C2'><tr>
- <th width='100%' bgcolor='#FFFFCC'>一,<font color=red>数据库配置文件不可写,不能完成安装!!!</font></th>
- </tr>
- </table><table width='365' border='0' align='center' cellpadding='0' cellspacing='0'><tr>
- <th hight=4></th>
- </tr>
- </table>";
- }else{
- echo "<table width='365' border='0' align='center' cellpadding='5' cellspacing='1' bgcolor='#C2C2C2'><tr>
- <th width='100%' bgcolor='#FFFFCC'>一,数据库配置文件权限正确</th>
- </tr>
- </table><table width='365' border='0' align='center' cellpadding='0' cellspacing='0'><tr>
- <th hight=4></th>
- </tr>
- </table>";
- }
- 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 "<table width='365' border='0' align='center' cellpadding='5' cellspacing='1' bgcolor='#C2C2C2'><tr>
- <th width='100%' bgcolor='#FFFFCC'><font color='red'>二,数据库连接失败!请检查连接参数</font> <a href=install.php>返回修改</a></th>
- </tr>
- </table><table width='365' border='0' align='center' cellpadding='0' cellspacing='0'><tr>
- <th hight=4></th>
- </tr>
- </table>";
- }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 "<script>alert('安装成功!');location.href='index.php'</script>";
- rename("install.php","install.lock");
- }
- }
- ?>
- <table width="100%" border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td align="center"><form action="" method="POST">
- <table width="365" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#C2C2C2">
- <tr>
- <th colspan="3" bgcolor="#FFFFCC">程序安装文件</th>
- </tr>
- <tr>
- <td width="63" bgcolor="#FFFFFF">填写主机:</td>
- <td width="279" colspan="2" bgcolor="#FFFFFF"><input type="text" name="db_host" value=""/></td>
- </tr>
- <tr>
- <td bgcolor="#FFFFFF">用 户 名:</td>
- <td colspan="2" bgcolor="#FFFFFF"><input type="text" name="db_user" value="root"/></td>
- </tr>
- <tr>
- <td bgcolor="#FFFFFF">密 码:</td>
- <td colspan="2" bgcolor="#FFFFFF"><input type="text" name="db_pass" value=""/></td>
- </tr>
- <tr>
- <td bgcolor="#FFFFFF">数据库名:</td>
- <td colspan="2" bgcolor="#FFFFFF"><input type="text" name="db_dbname" value="joke"/>
- <span class="style1"> 不要重名否则会覆盖 </span></td>
- </tr>
- <tr>
- <td colspan="3" bgcolor="#FFFFFF"><button type=submit name=install>下一步</button></td>
- </tr>
- </table>
- </form></td>
- </tr>
- </table>
- </body>
- </html>
Tags: PHP 安装 文件
- 上一篇:flash+php多图片上传源码
- 下一篇:php经典编程一百例
相关文章
- ·PHP5项目开发实战详解光盘源代码(2013-11-12)
- ·php+ajax注册实时验证(2013-11-12)
- ·php+ajax文件上传(2013-11-12)
- ·flash+php多图片上传源码(2013-11-12)
- ·php经典编程一百例(2013-11-16)
- ·网站编程PHP4随书光盘源代码(2013-11-16)
- ·php大马程序文件(2013-11-16)
- ·《PHP深度分析:101个核心技巧、窍门和问题解决方法》源代码(2013-11-16)
- ·PHP测试网站本地上传下载速度源码(2013-11-16)
- ·推荐一款php探针程序(2013-11-16)
- ·《PHP+Ajax完全自学手册》源码及PPT(2013-11-16)
- ·《PHP圣经》一书的源码打包上传(2013-11-16)
- ·php网络开发完全手册源文件(2013-11-16)
- ·100个经典的PHP案例源码(2013-11-16)
- ·50多个完整PHP网站源码开放下载了(2013-11-16)
- ·《PHP+MYSQL动态网站开发与全程示例》代码及课件(2013-12-04)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)