PHP168整站系統的與眾不同之處在於“一個核心+多模塊”以滿足企業不同的需求。以往的整站程序把所有的功能都集合在一起,這就給企業帶來了諸多的不便,因為很多企業並不需要全部的功能,全部功能給它的話,不僅僅是一種累贅,而且在操作上也帶來太多的干擾與諸多的不便。雖然有的整站系統推出了不同的版本,諸如:企業版、個人版、單位版等等。但這也並不是解決問題的出路,雖然有了版本的區別,把企業與個人區分開來了,但是還忽略了一個問題,就企業這個行業而言,他們的需求就各不相同。所以這也不能從根本上解決問題。
考慮到以上種種情況,為了給企業、個人、單位等等,帶來更多的方便,PHP168整站開發小組憑借著多年來的開發經驗,最後想出一個非常有效的解決方案,那就是現在的:一個核心+多個模塊。可以非常靈活的滿足不同的企業、單位、個人的不同需求。核心是必須安裝的,因為裡邊包括了網站最基本的功能,比如用戶權限控制、數據備份等等。而多模塊呢?大家可以自由選擇安裝自己需要的模塊。安裝以後,某一天不需要了,也可以很方便的自由刪除。這就非常的靈活,擴展性也就非常的強,按需搭建自己的網站。就像搭建積木那麼輕松自如。
以上所講的,是對PHP168整站系統的一個總體概述。下面再來跟大家分享一下我們這個整站當中的一些比較具有特色的自定義功能函數,因為這些函數就像一座大廈的鋼筋水泥柱子一樣,沒有它們,就很難搭建整個大廈。所以我們就從最基本的功能跟大家講起,以下就抽取了幾個比較有代表性的功能函數跟大家談談。
function table_field($table,$field=''){
global $db;
$query=$db->query(" SELECT * FROM $table limit 1");
$num=mysql_num_fields($query);
for($i=0;$i<$num;$i++){
$f_db=mysql_fetch_field($query,$i);
$showdb[]=$f_db->name;
}
if($field){
if(in_array($field,$showdb) ){
return 1;
}else{
return 0;
}
}else{
return $showdb;
}
}
以上這段代碼,是一個MySQL數據表的處理函數,它可以實現兩個非常重要的功能,第一個功能就是可以判斷某個表當中是否存在某個字段。看似很平凡的功能,實際用起來是很多的。比如當版本升級的時候,就要判斷用戶的舊數據庫是否存在某些字段,如果不存在的話,就要往這個表中添加字段。其中上面的$table參數就是數據表,而$field參數就是字段名。另一個重要的功能,就是獲取某個表的所有字段,然後以數組的方式返回。這個功能的實用性也很強,比如有些用戶自定義的表單,用戶自字義添加字段後,當添加數據的時候,程序處理數據之前,就需要把那個表的字段獲取到,因為裡邊的字段是變動的,用戶可以隨便的添加或刪除。
function del_file($path){
if (file_exists($path)){
if(is_file($path)){
if( !@unlink($path) ){
$show.="$path,";
}
} else{
$handle = opendir($path);
while (($file = readdir($handle))!='') {
if (($file!=".") && ($file!="..") && ($file!="")){
if (is_dir("$path/$file")){
$show.=del_file("$path/$file");
} else{
if( !@unlink("$path/$file") ){
$show.="$path/$file,";
}
}
}
}
closedir($handle);
if(!@rmdir($path)){
$show.="$path,";
}
}
}
return $show;
}
上面這個是刪除文件的函數,使用頻率也是很高的,大家都知道,使用系統自身的函數只能是刪除單個文件,而無法遞歸的刪除多級目錄與文件,而這個函數正好解決了這個問題,不僅僅可以刪除單個文件,也可以刪除多級目錄。比如整站數據生成靜態後,就會生成很多文件與很多目錄。使用這個函數的話,就可以輕易的把某個目錄下的所有文件一下子全部刪除。
大家想了解更多的信息,或者想親自體驗一下的,不煩登錄PHP168官方網站:http://www.php168.com。