ホームページ >バックエンド開発 >PHPチュートリアル >PHP汎用検出関数収集が停止できない場合はどうすればよいですか?
// ※CheckMoney($C_Money)は、データが99999.99形式かどうかを確認します
// ※CheckEmailAddr($C_mailaddr)は、有効なメールアドレスであるかどうかを判断します
// ※CheckWebAddr($C_weburl)は、有効なURLであるかどうかを判断します
// ※CheckEmpty($ C_char) 文字列が空か判定
// ※CheckLengthBetween($C_char, $I_len1, $I_len2=100) 指定された長さ以内の文字列か判定
// ※CheckUser($C_user)正規のユーザー名かどうかを判定
/ / ※CheckPassword($C_passwd)で正規のユーザーパスワードかどうか判定
// ※CheckTelephone($C_telephone)で正規の電話番号か判定
// ※CheckValueBetween($N_var) , $N_val1, $N_val2) 一定の範囲内かどうかを判断します 正当な値
// ※CheckPost($C_post)は正当な郵便番号(固定長)かどうか判断します
// ※CheckExtendName($C_filename,$A_extend ) アップロードしたファイルの拡張子を決定します
// ※CheckImageSize($ImageFileName,$LimitSize ) アップロードした画像のサイズを確認します
// ※AlertExit($C_alert,$I_goback=0) 不正操作警告して終了します
// ※ Alert($C_alert,$I_goback=0) 不正操作警告
// ※ReplaceSpacialChar($C_char ) 特殊文字置換機能
// ※ExchangeMoney($N_money) 資金換算機能
// ※WindowLocation($C_url,$C_get=) ”",$C_getOther=””) PHP の window.location 関数
コードをコピー コードは次のとおりです:
// 関数名: CheckMoney($C_Money)
// 関数: データが99999.99形式かどうかをチェック
// パラメータ: $C_Money (検出する数値)
// 戻り値: Boolean値
//備考: なし
//----------------------------------------------------- -------- --------------------------------------
機能CheckMoney($C_Money)
{
if (!ereg("^[0-9][.][0-9]$", $C_Money)) return true
}
//--- ---------------------------------------------------- ------- -----------------------
// 関数名: CheckEmailAddr($C_mailaddr)
// 関数: かどうかを判定します。有効なメールアドレス
// パラメータ: $C_mailaddr (検出するメールアドレス)
// 戻り値: ブール値
// 備考: なし
//--------------- ---------------------------------------------------- --------- ---------
function CheckEmailAddr($C_mailaddr)
{
if (!eregi("^[_a-z0-9-]+(.[_a-z0 -9-]+)*@[ a-z0-9-]+(.[a-z0-9-]+)*$",
$C_mailaddr))
//(!ereg("^[_a- zA-Z0-9-]+( .[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)* $",
$c_mailaddr))
{
return false;
}
return true;
}
//------------------------- ---------------------------------------------------- ---------
// 関数名: CheckWebAddr($C_weburl)
// 関数: 有効な URL かどうかを判定
// パラメータ: $C_weburl (検出対象の URL)
// Return値: ブール値
// 備考: なし
// ------------------------------------- ------------- ----------------------------------
関数 CheckWebAddr ($C_weburl)
{
if (!ereg("^ http://[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$", $C_weburl) )
{
false を返す
}
true を返す }
//-------------------------------- ------------------------ ------------------------ -------------
// 関数名: CheckEmpty($C_char)
/ / 関数: 文字列が空かどうかを判定する
// パラメータ: $C_char (検出する文字列)
/ / 戻り値: ブール値
// 備考: なし
//---------- ------------------------- ------------------------- ------------------------
関数CheckEmptyString($C_char)
{
if (!is_string($C_char)) return false; //文字列型かどうか
if (empty($C_char)) return false; //設定されているかどうか
if; ($C_char=='') return false; //空かどうか
}
//--- ---------- ------------------------ ---------------------------- ----------
// 関数名: CheckLengthBetween($C_char, $I_len1, $I_len2=100)
// 関数: 指定された長さ以内の文字列かどうかを判定
// パラメータ: $ C_char (検出対象の文字列)
// $I_len1 (対象文字列長の下限値)
// $I_len2 (対象文字列長) 上限値)
// 戻り値:ブール値
// 備考:なし
// --------------------------------- --------------- --------------------------------- --
関数 CheckLengthBetween($C_cahr, $I_len1, $I_len2=100)
{
$C_cahr = トリム($C_cahr);
if (strlen($C_cahr) <$I_len1) 戻り false;
if ($C_cahr) > 戻り true;
//-------------------------------- --------------- ----------------------------------- ---
// 関数名:CheckUser($C_user)
// 関数: 正当なユーザー名かどうかを判定します
// パラメーター: $C_user (検出されるユーザー名)
// 戻り値: ブール値
// 備考: なし
//-------- -------------------------------------- -------- ----------------------------
関数 CheckUser($C_user)
{
if (!CheckLengthBetween($C_user, 4, 20)) return false; //幅チェック
if (!ereg("^[_a-zA-Z0-9]*$", $C_user)) return false; //特殊文字チェック
return true; < ?php
// 関数名: CheckPassword($C_passwd)
// 関数: 正当なユーザーパスワードかどうかを判定します
// パラメータ: $C_passwd (検出されるパスワード)
// 戻り値: ブール値
// 備考: なし
//------------------------------------- -------- -------------------------
関数 CheckPassword($C_passwd)
{
if (! CheckLengthBetween($C_passwd, 4, 20)) return false; //幅検出
if (!ereg("^[_a-zA-Z0-9]*$", $ C_passwd)) return false;
true を返す
}
//--------------------- -------- --------------------------------------- ---
// 関数名: CheckTelephone($C_telephone)
// 関数: 正規の電話番号かどうかを判定します
// パラメータ: $C_telephone (検出する電話番号)
// 戻り値: ブール値
// 備考: なし
//- ------------------------------------------------ -- -------------------------------------
関数 CheckTelephone($C_telephone)
{
if (! ereg("^[+]?[0-9]+([xX-][0-9]+)*$", $C_telephone)) false を返します
true を返します;
//----------------------------------------------- --- -----------------------------------
// 関数名: CheckValueBetween($N_var, $N_val1, $N_val2)
// 関数: 一定の範囲内の正当な値かどうかを判定します
// パラメータ: $N_var 検出する値
// $N_var1 検出する値の上限
/ / $N_var2 検出する値の下限値
// 戻り値: Boolean
// 備考: なし
//---------------------- ------------ -------------------------------------- ------------
関数 CheckValueBetween($N_var, $N_val1, $N_val2)
{
if ($N_var < $N_var1 ││ $N_var > $N_var2)
{
return false ;
}
return true;
?>
< ?php
// 関数名: CheckPost($C_post)
// 有効な郵便番号かどうかを判定します
// : $C_post (確認する郵便番号)
// 戻り値: ブール値
// 備考: なし
//----------------------- ------------------- ------------------------------- ----------------
関数 CheckPost($C_post )
{
$C_post=trim($C_post);
if (strlen($C_post) == 6)
{
if(!ereg("^[+]?[_0-9]*$",$C_post ))
{
return true;;
}else
{
return false; ;;
}
}
//------------- ---------------------------- ------------------------ --------------------
// 関数名: CheckExtendName( $C_filename,$A_extend)
// 関数: アップロードされたファイルの拡張子を決定します
// パラメーター: $C_filename アップロードされたファイル名
// $A_extend 必要な拡張子
// 戻り値: ブール値
// 備考: なし
//--------------------------------------------- -------------------- ---------------
関数 CheckExtendName($C_filename,$A_extend)
{
if( strlen(trim($C_filename)) < 5)
{
return 0; // 0 を返すと、画像がアップロードされていないことを意味します
}
$lastdot = strrpos($C_filename, "."); // Position
$extended = substr($C_filename, $lastdot+1); //拡張子を取得
for($i=0;$i{
if (trim(strto lower($extended)) == trim(strto lower($) A_extend[$i]))) //大文字
を小文字に変換して
を検出します{
$flag =1; //成功フラグを追加します
$i=count($A_extend) //検出されたら検出を停止します
; }
if($flag<>1)
{
for($j=0;$ j{
$alarm .= $A_extend[$j]." ";
}
AlertExit('Only '.$alarm .' ファイルをアップロードできます。アップロードしたものは '.$extended.' タイプのファイルです。);
return -1; //-1 を返すと、アップロードした画像のタイプが一致しないことを意味します
} //1 を返すことは、写真のタイプは要件を満たしています
}
//------------------------------------- --------------------- ---------------------------- --------
// 関数名: CheckImageSize($ImageFileName,$LimitSize )
// 関数: アップロードした画像のサイズを確認する
// パラメーター: $ImageFileName アップロードした画像の名前
// $LimitSize 必要なサイズ
// 戻り値: ブール値
// 備考: なし
//--- ------------------------- ------------------------ ------------------------ ------
関数 CheckImageSize($ImageFileName,$LimitSize)
{
$size=GetImageSize($ImageFileName) );
if ($size[0]>$LimitSize[0] ││ $size[1] ]>$LimitSize[1])
{
AlertExit('画像のサイズが大きすぎます');
return false;
}
//----------- ------------------------ ----------------------------- -----------------------
// 関数名:Alert ($C_alert,$I_goback=0)
// 機能:不正操作警告
//パラメータ: $C_alert (エラーメッセージが表示されます)
// $I_goback (そのページに戻る)
// 戻り値: 文字列
// 備考: なし
//-------------- ------------------------ ------------------------ ------------------
関数 Alert($C_alert,$ I_goback=0)
{
if($I_goback<>0)
{
echo " "; }
else
{
echo " ";
}
}
?< ?php
// 関数名: AlertExit($C_alert,$I_goback=0)
// 関数: 不正な操作の警告
//パラメータ: $C_alert (エラーメッセージが表示されます)
// $I_goback (そのページに戻る)
// 戻り値: 文字列
// 備考: なし
//-------------- ------------------------ ------------------------ -----------------------
function AlertExit( $C_alert,$I_goback=0)
{
if($I_goback<>0)
{
エコー " ";
終了
}
他の
}
}
/--------------------- ----------------------------------------------------- -----------
// 関数名: ReplaceSpacialChar($C_char)
// 関数: 特殊文字置換関数
// パラメータ: $C_char (置換する文字列)
// 戻り値: String
// 注: この関数には問題があるため、使用する前にテストする必要があります
//----------- ---------------- ---------------------------------- ---------------- ----------
function ReplaceSpecialChar($C_char)
{
$C_char=HTMLSpecialChars($C_char); //特殊文字を置換 メタデータを HTML 形式に変換します。
$C_char=nl2br($C_char); //キャリッジリターンを
$C_char=str_replace(" "," ",$C_char); //スペースを
return $C_char に置き換えます
//- -------------------------------------------------- - -----------------------------
// 関数名: ExchangeMoney($N_money)
// 関数: 資金換算function
// パラメータ: $N_money (換算する金額)
// 戻り値: String
// 注: この関数の例: $char=ExchangeMoney(5645132.3155) ==> $char='¥5,645,132.31'
//------------------------------------------------ ----------------------------------
関数 ExchangeMoney($N_money)
{
$A_tmp=explode( " .",$N_money ); //数値を小数点に従って 2 つの部分に分割し、配列 $A_tmp に格納します
$I_len=strlen($A_tmp[0]); //桁の幅を測定します小数点前
if( $I_len%3==0)
{
$I_step=$I_len/3; //前の桁の幅mod 3 = 0の場合、$I_step部分に分割できます
}else
{
$step=($ len-$len%3)/3+1; //前の桁の幅が 3 != 0 の場合、$I_step 部分 +1 に押して分割できます
}
$C_cur="";
//小数点以下の数値を変換します
while($I_len<>0)
{
$I_step--;
if($I_step==0)
{ $C_cur .= substr($A_tmp[0],0,$ I_len-($I_step)*3);
}else
{
$C_cur .= substr($A_tmp[0],0,$I_len-($ I_step)*3).","
}
$A_tmp [0]=substr($A_tmp[0],$I_len-($I_step)*3);
$I_len=strlen($A_tmp[0]) ;
}
//小数点以下を変換
if($A_tmp[1]=="")
{
$C_cur .= ".00"
}else
$I_len=strlen($ A_tmp[1]);
if($I_len{
$C_cur .= ".".$A_tmp[1]."0";
}else
{
$C_cur .= ".".substr ($A_tmp[1],0,2);
}
}
//人民元記号を追加して送信
$C_cur="¥".$C_cur;
return $C_cur
//--- ------------------------ -------------------------------------------- ------------- ----------------
// 関数名: WindowLocation($C_url,$C_get="",$C_getOther=" ")
// 関数: PHP 関数の window.location
// パラメーター: $C_url ウィンドウをリダイレクトする URL
// $C_get GET メソッドのパラメーター
// $C_getOther GET メソッドのその他のパラメーター
// 戻り値: 文字列
// 備考: なし
//--- -------------------------------------- ----------- -----------------------------
関数 WindowLocation($C_url,$ C_get="",$C_getOther="")
{
if($C_get == "" && $C_getOther == "")
if($C_get == "" && $C_getOther <> ""){ $C_target=""window.location='$C_url ?
$C_getOther='+this.value"";}
if($C_get <> "" && $C_getOther == ""){$C_target=" "window.location='$C_url?
$C_get '"";}
if($C_get <> "" && $C_getOther <> ""){$C_target=""window.location='$ C_url?
$C_get&$C_getOther='+this.value"";}
$C_target
?>
上記では、一般ボリュームが停止できない場合の対処法を紹介しました。PHP 全般検出関数集には、一般ボリュームが停止できない場合の対処方法が記載されています。PHP チュートリアルに興味のある友人の参考になれば幸いです。