ホームページ  >  記事  >  バックエンド開発  >  一般的な PHP 関数の非常に実践的な概要、非常に実践的な PHP の概要_PHP チュートリアル

一般的な PHP 関数の非常に実践的な概要、非常に実践的な PHP の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:11:27813ブラウズ

一般的な PHP 関数の非常に実践的なまとめ、非常に実践的な PHP のまとめ

この記事の例は、PHP アプリケーション開発で一般的に使用されるいくつかの関数をまとめたものです。これらの関数には、文字操作、ファイル操作、その他の操作が含まれます。詳細は以下の通りです

1. PHP の暗号化と復号化

PHP の暗号化および復号化関数は、データベースに保存されている一部の有用な文字列を暗号化し、その文字列を可逆的に復号化するために使用できます。この関数は、base64 および MD5 の暗号化および復号化を使用します。

コードをコピーします コードは次のとおりです:
function encryptDecrypt($key, $string, $decrypt){
If($decrypt){
$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key),base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12"); 戻り $decrypted
}その他{
$encrypted =base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)))); 戻り $encrypted
}
}

使用方法:


コードをコピーします コードは次のとおりです://以下は、文字列「Helloweba welcomes you」をそれぞれ暗号化および復号化するものです
//暗号化:
echo encryptDecrypt('パスワード', 'こんにちは',0); //復号化:
echo encryptDecrypt('パスワード', 'z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=',1);


2. PHP はランダムな文字列を生成します

ランダムな名前、一時的なパスワード、その他の文字列を生成する必要がある場合は、次の関数を使用できます:


コードをコピーします

コードは次のとおりです: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 .= ''; エコー $str; }

使用方法:



コードをコピーします

コードは次のとおりです:

message('操作プロンプト','操作成功!','http://www.bkjia.com/');


13. PHPの計算時間


時間を処理する場合、現在時刻からある時点までの時間を計算する必要があります。たとえば、クライアントの実行時間を計算する場合、通常は hh:mm:ss で表されます。



コードをコピー
コードは次のとおりです:

function changeTimeType($秒) {
If ($秒 > 3600) { $時間 = intval($秒 / 3600); $分 = $秒 % 3600; $time = $hours . gmstrftime('%M:%S', $ minutes); } その他 { $time = gmstrftime('%H:%M:%S', $秒); } $time を返します。 }
使用方法:

コードをコピーします コードは次のとおりです:


$秒 = 3712; echochangeTimeType($秒);

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/929098.html技術記事よく使用される PHP 関数の非常に実用的なまとめ。この記事の例では、文字操作、ファイル操作などの関数がまとめられています。