찾다
php教程php手册PHP制作安装程序的原理与步骤详细讲解

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

Jun 13, 2016 am 10:39 AM
php그리고만들다원칙설치하다단계~의프로그램설명하다상세한

本文讲解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. $files="data/config.php";
  2. if(!is_writable($files)){
  3. echo "不可写!!!";
  4. }else{
  5. echo "可写";
  6. }
  7. if(isset($_POST[install])){
  8. $config_str = "
  9. $config_str .= " ";
  10. $config_str .= $mysql_host = " . $_POST[db_host] . ";;
  11. $config_str .= " ";
  12. $config_str .= $mysql_user = " . $_POST[db_user] . ";;
  13. $config_str .= " ";
  14. $config_str .= $mysql_pass = " . $_POST[db_pass] . ";;
  15. $config_str .= " ";
  16. $config_str .= $mysql_dbname = " . $_POST[db_dbname] . ";;
  17. $config_str .= " ";
  18. $config_str .= $mysql_tag = " . $_POST[db_tag] . ";;
  19. $config_str .= " ";
  20. $config_str .= ?>;
  21. $ff = fopen($files, "w ");
  22. fwrite($ff, $config_str);
  23. //=====================
  24. include_once ("data/config.php"); //嵌入配置文件
  25. if (!@$link = mysql_connect($mysql_host, $mysql_user, $mysql_pass)) { //检查数据库连接情况
  26. echo "数据库连接失败! 请返回上一页检查连接参数 返回修改";
  27. } else {
  28. mysql_query("CREATE DATABASE `$mysql_dbname`");
  29. mysql_select_db($mysql_dbname);
  30. $sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log1` (
  31. `id` int(8) unsigned NOT NULL auto_increment,
  32. `username` varchar(40) NOT NULL COMMENT 操作用户名称,
  33. `types` varchar(60) NOT NULL,
  34. PRIMARY KEY (`id`)
  35. ) ;";
  36. $sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log2` (
  37. `id` int(8) unsigned NOT NULL auto_increment,
  38. `username` varchar(40) NOT NULL COMMENT 操作用户名称,
  39. `types` varchar(60) NOT NULL,
  40. PRIMARY KEY (`id`)
  41. ) ;";
  42. $sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log3` (
  43. `id` int(8) unsigned NOT NULL auto_increment,
  44. `username` varchar(40) NOT NULL COMMENT 操作用户名称,
  45. `types` varchar(60) NOT NULL,
  46. PRIMARY KEY (`id`)
  47. ) ;";
  48. foreach($sql_query as $val){
  49. mysql_query($val);
  50. }
  51. echo "<script>alert(安装成功!);location.href=index.php</script>";
  52. rename("install.php","install.lock");
  53. }
  54. }
  55. ?>

  56. 填写主机:
  57. 用 户 名:
  58. 密  码:
  59. 数据库名:
  60. 数据前缀:

希望本文能对你有所收获。
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.