其实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编程从入门到精通全套视频教程,相关手册请访问php在线手册!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
視覺化網頁開發工具