ファイル読み込み関数
//ファイル読み込み関数
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") {
$filenum=@fopen($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);
$data=$filefrom;
PHP_Write($fileto,$data);
条件情報量取得関数を指定します。
//条件情報数量取得関数を指定
function rec_exist($table,$where){
$query="select count(*) as num from $table ".$ where; ) または die(nerror(1));
$num=$rowcount["num"];
if ($num==0 ){
return false $num; } ?>
ディレクトリ削除関数
//ディレクトリ削除関数
$mydir=dir($directory) ; read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=". .")){
del_DIR("$directory/ $file");
}else{
if(($file!=".") AND ($file!="..")){
unlink(" $directory/$file");
//echo "$directory/$file のリンクを解除します ";
}
} $mydir->close(); //echo " rmdir $directory ok ";
ディレクトリ名の正当性検出関数
//ディレクトリ名の正当性検出
function isen($str){
$ret=""
for($i =0;$i $p=ord(substr($str, $i,1));
if(($p57 & $p90 & $ p<97 & $p!=95) || $p>122){
nerror("仕様を満たしていません!");
$ret. =chr($p);
}
?>
ページング関数
//ページング関数
function splitlist($HALT,$LRLIST,$ECHOCNT,$paper,$table ,$where,$page_id,$userid){
global $splitstr, $sumcnt;
if($paper=="" || $sumcnt==""){ $query = "$table $where から num として count(*) を選択" $result = mysql_query($query) ;
$row = mysql_fetch_array($result);
$sumcnt=$row["num"]{
nerror("この版にはニュースはありません!");
$paper=1;
}
$sumpaper=($sumcnt-$sumcnt%$ECHOCNT)/$ECHOCNT;
if(($sumcnt% $ECHOCNT)!=0) $sumpaper+=1; 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){ =$sumpaper-($LRLIST*2); $sub=$sumpaper; $tract=$paper-$LRLIST;
$sub=$paper+$LRLIST; =1;
$sub=$sumpaper;
$uppaper=$paper+1;
$startcnt= ($paper-1)*$ECHOCNT;制限 ${ startcnt },${ ECHOCNT }";
if($tract > 1) { $splitstr="【 << "; }
else $splitstr="【 << $i=$tract;$i<=$sub;$i++){
if ($i!=$paper) $splitstr.="". $i." ";
else $splitstr.="".$ i." ";
if ($sub!=$sumpaper) $splitstr.=">> ]";
}
?>
ページング機能の使い方
/*
#### 検索ページング関数####
Int $HALT - 検索結果のみの場合にページ番号(1/0)を表示するかどうか1 ページに分割 Bar
Int $LRLIST - (ページ番号バーにはページ番号 - 1 が表示されます)/2
Int $ECHOCNT - 取得中に各ページに表示されるレコード数
Int $paper - ページ数 (事前) -抽出: $paper=$HTTP_GET_VARS[paper];
Varchar $table - データテーブル名、事前に添付された値: $table="db.table";
Varchar $where - 取得条件、事前に添付された値: $where ="where field='value'";
Varchar $enwhere - 元の $where を Base64_encode() で 2 回エンコードし、GET メソッドで送信します
Varchar $splitstr - ページ番号バーは文字列を出力し、関数の実行後、対応する位置で echo $splitstr を実行します。
$paper=$HTTP_GET_VARS[paper];
$enwhere=$HTTP_GET_VARS[enwhere];
Return (Varchar $where) - ページング後の検索ステートメントの検索条件
注: この関数はエラー処理関数 nerror($error) を呼び出す必要があります
*/
画像ファイルアップロード関数
//画像ファイルアップロード関数
; function Upload_img($UploadFile,$UploadFile_name,$UploadFile_size,$UploadPath,$max_size= 64){
//$TimeLimit=60; // タイムアウト制限を 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); //デフォルトのタイムアウト設定に戻します
}
}
ここにいくつかのヒントがあります:
IP アドレスの正当性を判断する方法
if(!strcmp(long2ip(sprintf("%u",ip2long) ($ip))),$ip)) echo "is ipn";
----
メールの定期判定
eregi("^[_.0-9a-zA-Z-]+@([ 0-9a-zA-Z][0-9a-zA-Z_-]+.)+[a -zA-Z]$", $email);
IPアドレスとマスクが正当かどうかを確認する例
$ ip = '192.168.0.84'; $マスク = '255.255.255.0';
$ip = ip2long($ip); network = ip2long($network); if( ($ip & $mask) == $network) echo "有効な IP とマスクn"
---
ファイルのダウンロード ヘッダー出力を設定する方法
header("Content-type: application/x-download");
header("Content-Disposition:attachment ; filename=$file_download_name;");
header("Accept-Range: bytes"); "Content-Length: $download_size");
echo 'xxx'
ヘッダーを使用して FTP ダウンロード メソッドを出力し、アップロードの再開をサポートします
例: header('Pragma: public');コントロール: プライベート'); header('キャッシュ制御: キャッシュなし、必須');
header('接続: 閉じる'); Content-Type: audio/mpeg");
header("Location:ftp://download:1bk3l4s3k9s2@232.2 .22.22/2222/web 技術開発知識ベース/cn_web.rmvb");
正規一致中国語
ereg ("^[".chr(0xa1)."-".chr(0xff)."]+$" , $str); テキスト内のハイパーリンクを一括置換します
function urlParse($str = ''){
if ('' == $str) $str;
$types = array("http", "ftp", "https"); .htmlentities('2').''
EOPHP;
$ret = $str;
while( list(,$type) = each($types)){
$ret = preg_replace("|($type:/ /)([^s]*)|ie ", $replace, $ret);
} return $ret; }
http://www.bkjia.com/PHPjc/319854.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/319854.html
技術記事
ファイル読み込み関数 // ファイル読み込み関数 PHP_Read($file_name) { $fd=fopen($file_name,r); while($bufline=fgets($fd, 4096)){ $buf.=$bufline } fclose($) fd); $buf を返します...