一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP網站安裝程序制作的原理、步驟、注意事項和示例代碼

PHP網站安裝程序制作的原理、步驟、注意事項和示例代碼

2019-11-05 11:20php教程網 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.示例代碼如下 

復制代碼代碼如下:

<?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> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青青视频国产依人在线 | 亚洲人成网站在线观看妞妞网 | chinese野外gay军人 | 好男人资源大全免费观看 | 国士李风起全文在线阅读 | 极品妖艳许清赵丽全文免费阅读 | 无遮挡免费h肉动漫在线观看 | 狠狠干2017 | 日韩永久在线观看免费视频 | 99视频全部看免费观 | 暖暖在线精品日本中文 | 亚洲色图首页 | 亚洲一卡2卡4卡5卡6卡残暴在线 | 国产精品二区高清在线 | 国产免费视 | 国产成人福利免费观看 | 女人是男人的未来1分49分 | 日日碰碰| 亚洲第一区se | 天天亚洲综合 | 亚裔maricahaseaⅴ | 天天做天天爱天天综合网 | 好吊色永久免费视频大全 | 亚洲国产成人精品激情 | 日韩一二三 | 国产高清精品自在久久 | 无套大战白嫩乌克兰美女 | 亚洲 欧美 清纯 校园 另类 | 国产一区国产二区国产三区 | 久久亚洲精选 | 99久热只有精品视频免费观看17 | 国产色在线观看 | 操动漫美女视频 | 四虎麻豆国产精品 | 日本国产最新一区二区三区 | 日韩 欧美 国产 亚洲 中文 | 国产精品日本一区二区三区在线看 | 春色视频网站 | 久久成人伊人欧洲精品AV | 成人在线视频播放 | 韩国悲惨事件30无删减在线 |