この記事の例は、PHP アプリケーション開発で一般的に使用されるいくつかの関数をまとめたものです。これらの関数には、文字操作、ファイル操作、その他の操作が含まれます。詳細は以下の通りです
PHP の暗号化および復号化関数は、データベースに保存されている一部の有用な文字列を暗号化し、その文字列を可逆的に復号化するために使用できます。この関数は、base64 および MD5 の暗号化および復号化を使用します。
コードは次のとおりです:function generatedRandomString($length = 10) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = '';
for ($i = 0; $i
$randomString .= $characters[rand(0, strlen($characters) - 1)];
}
$randomString を返します。
}
使用方法:
コードをコピーします
コードは次のとおりです:
echo generatedRandomString(20);
3. PHP はファイル拡張子 (サフィックス) を取得します
次の関数は、ファイル拡張子または接尾辞を迅速に取得できます。
コードをコピーします コードは次のとおりです:
function getExtension($filename){
$myext = substr($filename, strrpos($filename, '.'));
str_replace('.','',$myext) を返します
}
使用方法:
コードをコピーします
コードは次のとおりです:
$filename = 'My Documents.doc'
echo getExtension($filename);
4. PHP がファイルサイズを取得してフォーマットします
以下で使用される関数は、ファイルのサイズを取得し、読みやすいKB、MB、その他の形式に変換できます。
コードをコピーします
コードは次のとおりです:
function formatSize($size) {
$sizes = array(" バイト", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
If ($size == 0) {
return('n/a')
} その他 {
戻り値 (round($size/pow(1024, ($i = Floor(log($size, 1024)))), 2)
}
}
使用方法:
コードをコピーします
コードは次のとおりです:
$thefile = filesize('test_file.mp3');
echo formatSize($thefile);
5. タグ文字をPHPに置き換えます
文字列やテンプレートタグを指定されたコンテンツに置き換える必要がある場合は、次の関数を使用できます:
コードをコピーします
コードは次のとおりです:
function stringParser($string,$replacer){
$result = str_replace(array_keys($replacer), array_values($replacer),$string);
$result を返す
}
使用方法:
コードをコピーします
コードは次のとおりです:
$string = '{b}アンカー テキスト{/b}は、リンク{br}自体を説明するために使用される{b}実際の単語{/b}です
;
$replace_array = array('{b}' => '','{/b}' => '','{br}' => '
');
echo stringParser($string,$replace_array);
6. PHP はディレクトリ内のファイル名をリストします
ディレクトリ内のすべてのファイルを一覧表示したい場合は、次のコードを使用します:
コードをコピーします コードは次のとおりです:
function listDirFiles($DirPath){
If($dir = opendir($DirPath)){
while(($file = readdir($dir))!== false){
If(!is_dir($DirPath.$file))
echo "ファイル名: $file
";
}
}
}
使用方法:
コードをコピーします
コードは次のとおりです:listDirFiles('home/some_folder/');
7. PHP で現在のページの URL を取得します
次の関数は、http か https かに関係なく、現在のページの URL を取得できます。
コードをコピーします
コードは次のとおりです:function curPageURL() {
$pageURL = 'http';
If (!empty($_SERVER['HTTPS'])) {$pageURL .= "s";}
$pageURL .= "://" ;
If ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} その他 {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]
}
$pageURL を返す
}
使用方法:
コードをコピーします
コードは次のとおりです:
echo curPageURL();
8. PHP ファイルの強制ダウンロード
ブラウザーで PDF ファイルなどのファイルを直接開かないようにする場合がありますが、ファイルを直接ダウンロードするには、次の関数を使用してファイルを強制的にダウンロードできます。 application/octet-stream ヘッダー タイプが使用されます。関数内で。
コードをコピーします コードは次のとおりです:
function download($filename){
If ((isset($filename))&&(file_exists($filename))){
header("コンテンツの長さ: ".filesize($filename));
header('Content-Type: application/octet-stream');
header('Content-Disposition:attachment; filename="' . $filename . '"');
readfile("$filename");
} その他 {
echo "ファイルが存在しないようです!";
}
}
使用方法:
コードをコピーします
コードは次のとおりです:
download('/down/test_45f73e852.zip');
9. PHP は文字列の長さをインターセプトします
文字列 (中国語の文字を含む) の長さを切り取る必要がある状況によく遭遇します。たとえば、タイトルに数文字しか表示できない場合、余分な長さは次の関数で表されます。ニーズ。
コードをコピーします
コードは次のとおりです:
/*
Utf-8とgb2312で漢字インターセプト機能をサポート
Cut_str(文字列、カット長、開始長、エンコーディング);
エンコードのデフォルトは utf-8 です
デフォルトの開始長は 0 です
*/
関数cutStr($string, $sublen, $start = 0, $code = 'UTF-8'){
If($code == 'UTF-8'){
$pa = "/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]| xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/";
Preg_match_all($pa, $string, $t_string);
If(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
return join('', array_slice($t_string[0], $start, $sublen));
}その他{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = '';
for($i=0; $i
If($i>=$start && $i
If(ord(substr($string, $i, 1))>129){
$tmpstr.= substr($string, $i, 2);
}その他{
$tmpstr.= substr($string, $i, 1);
If(ord(substr($string, $i, 1))>129) $i++;
}
If(strlen($tmpstr)
}
使用方法:
コードをコピーします
コードは次のとおりです:
$str = "jQuery プラグインによって実装された画像とページ効果の読み込み";
エコーカットStr($str,16);
10. PHP でクライアントの実際の IP を取得します
ユーザーの IP を記録するためにデータベースをよく使用します。次のコードでクライアントの実際の IP を取得できます。
コードをコピーします コードは次のとおりです://ユーザーの実際のIPを取得します
関数 getIp() {
If (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
それ以外は
If (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
その他
If (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
その他
If (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
その他
$ip = "不明";
リターン ($ip);
}
使用方法:
コードをコピーします
コードは次のとおりです:
echo getIp();
11. PHP は SQL インジェクションを防止します
データベースにクエリを実行するとき、セキュリティ上の理由から、悪意のある SQL インジェクションを防ぐためにいくつかの不正な文字をフィルタリングする必要があります。
関数をご覧ください。
コードをコピーします コードは次のとおりです:
function injCheck($sql_str) {
$check = preg_match('/select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile/', $sql_str);
If ($check) {
echo 「不正な文字です!」 ! ';
出る
} その他 {
$sql_str を返す
}
}
使用方法:
コードをコピーします コードは次のとおりです:
echo injCheck('1 or 1=1');
12. PHP ページのプロンプトとジャンプ
フォーム操作を実行するとき、分かりやすくするために、ユーザーに操作結果の入力を求め、関連するページにジャンプする必要がある場合があります。
を参照してください。
コードをコピーします コードは次のとおりです:
function message($msgTitle,$message,$jumpUrl){
$str = '';
$str .= '';
$str .= '<頭>';
$str .= '
';
$str .= '
ページプロンプト';
$str .= '';
$str .= '';
$str .= '';
$str .= '
';
$str .= '
'.$msgTitle.'
';
$str .= '
';
$str .= '
'.$message.'
';
$str .= '
システムは 3 秒後に自動的にジャンプします。 ここにジャンプ
';
$str .= "<script>setTimeout('location.replace('".$jumpUrl."')',2000)</script>";
$str .= '
';
$str .= '
';
$str .= '';
$str .= '