最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2010年08月01日 19:58:11   作者:  
其實PHP程序的安裝原理無非就是將數(shù)據(jù)庫結(jié)構(gòu)和內(nèi)容導入到相應(yīng)的數(shù)據(jù)庫中,從這個過程中重新配置連接數(shù)據(jù)庫的參數(shù)和文件,為了保證不被別人惡意使用安裝文件,當安裝完成后需要修改安裝文件。

1.制作PHP安裝程序的原理
其實PHP程序的安裝原理無非就是將數(shù)據(jù)庫結(jié)構(gòu)和內(nèi)容導入到相應(yīng)的數(shù)據(jù)庫中,從這個過程中重新配置連接數(shù)據(jù)庫的參數(shù)和文件,為了保證不被別人惡意使用安裝文件,當安裝完成后需要修改安裝文件。
2. 制作PHP安裝程序的步驟
step1 檢查目錄或文件的權(quán)限
step2 修改或填加配置文件
step3 檢查配置文件正確性
step4 導入數(shù)據(jù)庫
step5 鎖定或刪除安裝文件
3.制作安裝用到的PHP函數(shù)
檢查文件是否可寫,返回布爾值:is_writable("data/config.php");
檢查文件是否可讀,返回布爾值:is_readable("data/config.php");
fopen() 文件操作函數(shù),打開一個文件或新建
fwrite() 文件操作函數(shù),寫入內(nèi)容到文件
rename() 文件操作函數(shù),給文件改名
4.注意事項
(1).對文件和相關(guān)文件夾權(quán)限進行檢查,如緩存,生成文件,配置文件
(2).安裝文件盡可能獨立,可刪除,可改名。
(3).數(shù)據(jù)庫導入時,需檢查:
a.檢查是否有建立數(shù)據(jù)庫的權(quán)限
b.是否同名數(shù)據(jù)庫的存在
c.考慮到數(shù)據(jù)庫導入的大小是否分段處理
(4).檢查配置環(huán)境,各種模塊的支持情況,如: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)) { //檢查數(shù)據(jù)庫連接情況
echo "數(shù)據(jù)庫連接失敗! 請返回上一頁檢查連接參數(shù) <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>
數(shù)據(jù)庫名:<input type="text" name="db_dbname" value="php100_db"/><br>
數(shù)據(jù)前綴:<input type="text" name="db_tag" value="p_"/><br>
<button type=submit name=install>下一步</button>
</form>

相關(guān)文章

  • PHP判斷IP并轉(zhuǎn)跳到相應(yīng)城市分站的方法

    PHP判斷IP并轉(zhuǎn)跳到相應(yīng)城市分站的方法

    這篇文章主要介紹了PHP判斷IP并轉(zhuǎn)跳到相應(yīng)城市分站的方法,實例分析了php解析URL及跳轉(zhuǎn)的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • PHP請求遠程地址設(shè)置超時時間的解決方法

    PHP請求遠程地址設(shè)置超時時間的解決方法

    下面小編就為大家?guī)硪黄狿HP請求遠程地址設(shè)置超時時間的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • php操作Redis數(shù)據(jù)庫基本示例【安裝、連接、設(shè)置、查詢、斷開】

    php操作Redis數(shù)據(jù)庫基本示例【安裝、連接、設(shè)置、查詢、斷開】

    這篇文章主要介紹了php操作Redis數(shù)據(jù)庫的方法,較為詳細的分析了redis擴展的安裝、php連接redis、設(shè)置、查詢及斷開redis相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2023-07-07
  • PHP基于mcript擴展實現(xiàn)對稱加密功能示例

    PHP基于mcript擴展實現(xiàn)對稱加密功能示例

    這篇文章主要介紹了PHP基于mcript擴展實現(xiàn)對稱加密功能,結(jié)合實例形式簡單分析了php使用mcript擴展進行加密與解密相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • PHP八大設(shè)計模式案例詳解

    PHP八大設(shè)計模式案例詳解

    這篇文章主要介紹了PHP八大設(shè)計模式案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • php設(shè)計模式之裝飾模式應(yīng)用案例詳解

    php設(shè)計模式之裝飾模式應(yīng)用案例詳解

    這篇文章主要介紹了php設(shè)計模式之裝飾模式,結(jié)合具體應(yīng)用案例形式詳細分析了php裝飾模式的概念、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-06-06
  • PHP翻頁跳轉(zhuǎn)功能實現(xiàn)方法

    PHP翻頁跳轉(zhuǎn)功能實現(xiàn)方法

    這篇文章主要介紹了PHP翻頁跳轉(zhuǎn)功能實現(xiàn)方法,下面就來介紹一下如何實現(xiàn)當前頁面數(shù)據(jù)資料顯示數(shù)量及如何實現(xiàn)動態(tài)的翻轉(zhuǎn)功能,需要的朋友可以參考下
    2015-11-11
  • 深入淺出理解PHP原理之變量賦值

    深入淺出理解PHP原理之變量賦值

    將會對變量賦值過程中,PHP內(nèi)部對數(shù)據(jù)處理的原理進行闡述,不過在講述該原理前,需要先了解一下變量名和它的值是如何關(guān)聯(lián)起來的,這個對變量賦值的理解非常重要
    2021-09-09
  • php 高性能書寫

    php 高性能書寫

    從這里就可以看到,第二段代碼會因應(yīng)數(shù)組中的鍵的個數(shù)去不停地作出判斷次數(shù)為1+2+3的判斷,所以變成了第一段代碼判斷次數(shù)是3,而第二段代碼判斷次數(shù)是6次
    2010-12-12
  • PHP合并數(shù)組+號和array_merge的區(qū)別

    PHP合并數(shù)組+號和array_merge的區(qū)別

    這篇文章主要介紹了PHP合并數(shù)組+號和array_merge的區(qū)別,PHP的數(shù)組融合一般有兩種做法,一種是直接使用加號相加,另一種則是使用array_merge函數(shù)進行相加,兩者之間有點區(qū)別,需要的朋友可以參考下
    2015-06-06

最新評論

龙游县| 临洮县| 安塞县| 汕尾市| 游戏| 福清市| 米脂县| 长海县| 阿拉善盟| 白山市| 闽清县| 清徐县| 麦盖提县| 长丰县| 荔浦县| 蓝山县| 绥化市| 淳安县| 华安县| 如皋市| 温州市| 娱乐| 枣阳市| 天长市| 垣曲县| 江北区| 界首市| 汉沽区| 甘谷县| 资中县| 盘锦市| 家居| 普格县| 靖安县| 岳普湖县| 武定县| 龙口市| 区。| 永州市| 达日县| 西峡县|