您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

PHP制作安装程序的原理与步骤详细讲解

来源:未知 责任编辑:智问网络 发表时间:2013-10-30 11:08 点击:
本文讲解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、实例代码
  1. <?php
  2. $files="data/config.php";
  3. if(!is_writable($files)){
  4. echo "<font color=red>不可写!!!</font>";
  5. }else{
  6. echo "<font color=green>可写</font>";
  7. }
  8. if(isset($_POST[install])){
  9. $config_str = "<?php";
  10. $config_str .= " ";
  11. $config_str .= $mysql_host = " . $_POST[db_host] . ";;
  12. $config_str .= " ";
  13. $config_str .= $mysql_user = " . $_POST[db_user] . ";;
  14. $config_str .= " ";
  15. $config_str .= $mysql_pass = " . $_POST[db_pass] . ";;
  16. $config_str .= " ";
  17. $config_str .= $mysql_dbname = " . $_POST[db_dbname] . ";;
  18. $config_str .= " ";
  19. $config_str .= $mysql_tag = " . $_POST[db_tag] . ";;
  20. $config_str .= " ";
  21. $config_str .= ?>;
  22. $ff = fopen($files, "w ");
  23. fwrite($ff, $config_str);
  24. //=====================
  25. include_once ("data/config.php"); //嵌入配置文件
  26. if (!@$link = mysql_connect($mysql_host, $mysql_user, $mysql_pass)) { //检查数据库连接情况
  27. echo "数据库连接失败! 请返回上一页检查连接参数 <a href=install.php>返回修改</a>";
  28. } else {
  29. mysql_query("CREATE DATABASE `$mysql_dbname`");
  30. mysql_select_db($mysql_dbname);
  31. $sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log1` (
  32. `id` int(8) unsigned NOT NULL auto_increment,
  33. `username` varchar(40) NOT NULL COMMENT 操作用户名称,
  34. `types` varchar(60) NOT NULL,
  35. PRIMARY KEY (`id`)
  36. ) ;";
  37. $sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log2` (
  38. `id` int(8) unsigned NOT NULL auto_increment,
  39. `username` varchar(40) NOT NULL COMMENT 操作用户名称,
  40. `types` varchar(60) NOT NULL,
  41. PRIMARY KEY (`id`)
  42. ) ;";
  43. $sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log3` (
  44. `id` int(8) unsigned NOT NULL auto_increment,
  45. `username` varchar(40) NOT NULL COMMENT 操作用户名称,
  46. `types` varchar(60) NOT NULL,
  47. PRIMARY KEY (`id`)
  48. ) ;";
  49. foreach($sql_query as $val){
  50. mysql_query($val);
  51. }
  52. echo "<script>alert(安装成功!);location.href=index.php</script>";
  53. rename("install.php","install.lock");
  54. }
  55. }
  56. ?>
  57. <hr size=1>
  58. <form action="" method="POST">
  59. 填写主机:<input type="text" name="db_host" value=""/><br>
  60. 用 户 名:<input type="text" name="db_user" value="root"/><br>
  61. 密  码:<input type="text" name="db_pass" value=""/><br>
  62. 数据库名:<input type="text" name="db_dbname" value="php100_db"/><br>
  63. 数据前缀:<input type="text" name="db_tag" value="p_"/><br>
  64. <button type=submit name=install>下一步</button>
  65. </form>

希望本文能对你有所收获。
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • PHP测试
    • 十天学会php之第六天
    • 几种显示数据的方法的比较
    • 使用xmlhttp为网站增加域名查询功能
    • PHP+MYSQL+Javascript数据库查询结果的动态显示
    • 查找数组中指定键名的值
    • 用redis实现跨服务器session
    • 用新浪微博接口发送图片微博失败的原因
    • smarty局部缓存技术[源码分析]
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1