文件讀取函式
//文件讀取函式
function php_read($file_name) {
$fd=fopen($file_name,r);
while($bufline=fgets($fd, 4096)){
$buf.=$bufline;
}
fclose($fd);
return $buf;
}
?>
文件寫入函式
//文件寫入函式
function php_write($file_name,$data,$method="w") {
$[email protected]($file_name,$method);
flock($filenum,lock_ex);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
?>
靜態頁面生成函式
//靜態頁面生成函式
function phptohtm($filefrom,$fileto,$u2u=1){
if($u2u==1){
$data=php_read($filefrom);
}else{
$data=$filefrom;
}
php_write($fileto,$data);
return true;
}
?>
指定條件信息數量檢索函式
//指定條件信息數量檢索函式
function rec_exist($table,$where){
$query="select count(*) as num from $table ".$where;
$result=mysql_query($query) or die(nerror(1));
$rowcount=mysql_fetch_array($result);
$num=$rowcount["num"];
if ($num==0){
return false;
}
return $num;
}
?>
目錄刪除函式
//目錄刪除函式
function del_dir($directory){
$mydir=dir($directory);
while($file=$mydir->read()){
if((is_dir("$directory/$file")) and ($file!=".") and ($file!="..")){
del_dir("$directory/$file");
}else{
if(($file!=".") and ($file!="..")){
unlink("$directory/$file");
//echo "unlink $directory/$file ok ";
}
}
}
$mydir->close();
rmdir($directory);
//echo "rmdir $directory ok ";
}
?>
目錄名稱合法性檢測函式
//目錄名稱合法性檢測
function isen($str){
$ret="";
for($i=0;$i $p=ord(substr($str,$i,1));
if(($p<48 & $p!=45 & $p!=46) || ($p>57 & $p<65) || ($p>90 & $p<97 & $p!=95) || $p>122){
nerror("不符合規范!");
}
$ret.=chr($p);
}
return $ret;
}
?>
分頁函式
//分頁函式
function splitlist($halt,$lrlist,$echocnt,$paper,$table,$where,$page_id,$userid){
global $splitstr,$sumcnt;
if($paper=="" || $sumcnt==""){
$query = "select count(*) as num from $table $where";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$sumcnt=$row["num"];
if($sumcnt==0){
nerror("該版內還沒有選擇發布新聞 !");
}
$paper=1;
}
$sumpaper=($sumcnt-$sumcnt%$echocnt)/$echocnt;
if(($sumcnt%$echocnt)!=0) $sumpaper+=1;
if($sumpaper==1 && $halt==0) return($where);
$enwhere=base64_encode(base64_encode($where));
if(($lrlist*2+1) < $sumpaper){
if(($paper-$lrlist) < 2){
$tract=1;
$sub=$lrlist*2+1;
}else if(($paper+$lrlist) >= $sumpaper){
$tract=$sumpaper-($lrlist*2);
$sub=$sumpaper;
}else{
$tract=$paper-$lrlist;
$sub=$paper+$lrlist;
}
}else{
$tract=1;
$sub=$sumpaper;
}
$uppaper=$paper-1;
$downpaper=$paper+1;
$startcnt=($paper-1)*$echocnt;
$where.=" limit ${ startcnt },${ echocnt }";
if($tract > 1) { $splitstr="【 << "; }
else $splitstr="【 << ";
for($i=$tract;$i<=$sub;$i++){
if ($i!=$paper) $splitstr.="".$i." ";
else $splitstr.="".$i." ";
}
if ($sub!=$sumpaper) $splitstr.=">> 】";
else $splitstr.=">> 】";
return($where);
}
?>
關于分頁函式的使用說明
/*#### 檢索分頁函式 ####
int $halt - 檢索結果僅分1頁時是否(1/0)顯示頁碼條
int $lrlist - (頁碼條顯示頁碼數-1)/2
int $echocnt - 檢索時每頁顯示記錄的數量
int $paper - 頁數,預提?。?#36;paper=$http_get_vars[paper];
varchar $table - 數據表名,預附值:$table="db.table";
varchar $where - 檢索條件,預附值:$where="where [email protected]#value@#";
varchar $enwhere - 將原$where進行兩次base64_encode()編碼后以get的方式提交
varchar $splitstr - 頁碼條輸出字串,執行函式后在相應的位置執行 echo $splitstr;
函式調用前需獲取變量 -
$paper=$http_get_vars[paper];
$sumcnt=$http_get_vars[sumcnt];
$enwhere=$http_get_vars[enwhere];
return (varchar $where) - 分頁后檢索語句的檢索條件
注意:本函式需調用出錯處理函式 nerror($error);
*/
?>
圖片文件上傳函式
//圖片文件上傳函式
function upload_img($uploadfile,$uploadfile_name,$uploadfile_size,$uploadpath,$max_size=64){
//$timelimit=60; //設置超時限制時間 缺省時間為 30秒 設置為0時為不限時
//set_time_limit($timelimit);
if(($uploadfile!= "none" )&&($uploadfile != "" )){
$filename=$uploadpath.$uploadfile_name;
if($uploadfile_size <1024){
$filesize="(string)$uploadfile_size" . "字節";
}elseif($uploadfile_size <(1024 * $max_size)){
$filesize=number_format((double)($uploadfile_size / 1024), 1) . " kb";
}else{
nerror("文件超過限制大??!");
}
//{
//$filesize="number_format((double)($uploadfile_size" / (1024 * 1024)), 1) . " mb";
// }
if(!file_exists($filename)){
if(copy($uploadfile,$filename)){
return "$uploadfile_name ($filesize)";
}else{
nerror("文件 $uploadfile_name 上載失??!");
}
unlink($uploadfile);
}else{
nerror("文件 $uploadfile_name 已經存在!");
}
//set_time_limit(30); //恢復缺省超時設置
}
}
?>
新聞熱點
疑難解答