ホームページ  >  記事  >  バックエンド開発  >  放置されているPHP関数(簡単アレンジ)_PHPチュートリアル

放置されているPHP関数(簡単アレンジ)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:39:031080ブラウズ

sys_getloadavg()
この関数は、現在のシステムの負荷平均情報を返します (もちろん Windows では適用できません) 詳細については、関連する PHP ドキュメントを参照してください。ドキュメントにはサンプルコードがあり、基本的にその使用方法がわかります。

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

$load = sys_getloadavg();
if ($load[0] > 80) {
header('HTTP/1.1 503ビジー状態です。後でもう一度お試しください');
die('サーバーがビジー状態です。後でもう一度お試しください。');

PS、「残念ながら」この関数が PHP 環境にない場合は、次の段落を使用してコードを作成します。

コードをコピー コードは次のとおりです:
if (!function_exists('sys_getloadavg')) {
function sys_getloadavg()
{
$loadavg_file = '/proc/loadavg ';
if (file_exists( $loadavg_file)) {
returnexplode(chr(32),file_get_contents($loadavg_file))
}
return array(0,0,0)


;正しくは、この機能によりサーバー部分の負担が軽減されます。

pack()

pack unpack と呼ばれる対応する関数もあります。これは、記事内の著者の例が非常に明確です $pass_hash = Pack("H*", md5(" my-password" )); PHP5 を使用している場合は、これを直接行うことができます

$pass_hash = md5("my-password", true); // PHP 5 以降でこれを行う利点の 1 つは、文字列ストレージ領域を削減します (何をどれだけ節約できるでしょうか? それは別の記事になる可能性があります)。

これは、配列を介してパックするサンプルコードです
​​


コードをコピーします
コードは次のとおりです: function Pack_array($v,$a) {
return call_user_func_array(pack) ,array_merge(array ($v),(array)$a));
}



cal_days_in_month()

この関数は、指定された月の日数を直接返すことができます。たとえば、
$days = cal_days_in_month(CAL_GREGORIAN, date("m "), date("Y")); // 31 あなた自身が同様の関数を実装していることを保証します:^)


_()

まあ、これは確かに PHP 関数です (これは最も短い PHP 組み込み関数である可能性もあります)。 _() はその「ニックネーム」であり、その正式な名前は gettext() です。 Wordpress スキンを作成したことのある友人は、関数 __() と _e() を知っているでしょう。実際、PHP には関連する関数がすでにあります。



コードをコピーします
コードは次のとおりです: // 言語をドイツ語に設定します
setlocale(LC_ALL, 'de_DE');

// 変換テーブルの場所を指定します
bindtextdomain("myPHPApp", " ./locale ");

// ドメインを選択
textdomain("myPHPApp");

echo _("Have a nice day");


gettext を使用して多言語アプリケーションを作成できます。ロケール ファイルの作成方法はこの記事の焦点では​​ありませんので、詳細についてはここに移動してください。

get_browser()

正直、この関数を見たときは泣きそうになりました。この関数を使用すると、文字列 $_SERVER['HTTP_USER_AGENT'] を自分で分析する必要がなくなりました。 詳細については、こちらをご覧ください。この機能を使用する前に、browscap.ini 設定ファイルが必要になる場合がありますが、これは処理できると思います。


debug_print_backtrace()

以前は、関数呼び出しスタックを表示するには、xdebug などの拡張機能を使用していました。実際、PHP5 バージョンには関連する関数が組み込まれています。 ところで、この関数の名前を思い出せない場合は、このコードを使用して同じ目的を達成できます (覚えておく方が確実だと思われます)。その関数):



コードをコピー
コードは次のとおりです: $e = new Exception()
print_r(str_replace('/path/to/code/', ' ', $e->getTraceAsString())) ;natsort()
この関数は、誰もが必要とする自然な並べ替えに使用されます。関連するドキュメントのリンクとサンプルコードを投稿します

$items = array("100 apples", "5 apples", "110 apples", "55 apples"); print_r($items);
# 出力:
# 配列
# (
# [0] => 100 個のリンゴ
# [1] => 110 個のリンゴ
# [2] => 5 個のリンゴ
# [3 ] => 55 個のリンゴ
# )

natsort($items);
# 出力:
# 配列
# (
# [2] => 5 個のリンゴ
# [3 ] = > 55 個のリンゴ
# [0] => 100 個のリンゴ
# [1] => 110 個のリンゴ
# ) 自然ソートのアルゴリズム ルールについては、こちらのドキュメントを参照してください。


glob()
この関数の関数も人々を泣かせます。関数の話はやめて、コード例に直接進みましょう
コードをコピーします コードは次のとおりです:

foreach (glob( "*.php") as $ file) {
echo "$filen";
}

この関数の目的を理解したので、ディレクトリを表示するなど、さらに多くの「遊び」を行うことができます。

$dirs = array_filter(glob($path.'*'), 'is_dir'); もちろん、ファイルの再帰に SPL 拡張子の使用を検討することもできます。

Shenxian による補足:

glob にはパラメーター オプション GLOB_ONLYDIR があり、ディレクトリ PHP フィルターのみをリストできます
文字列をまだ検証している場合、それは実際には「アウト」です。 PHP5.2 バージョン以降、メールや URL などが正当であるかどうかを具体的に検証するための PHP フィルター モジュールが組み込まれています。これは新しいモジュールなので、

filter_var('abc', FILTER_VALIDATE_BOOLEAN) // bool(false)
filter_var('0', FILTER_VALIDATE_BOOLEAN); // bool(false); などのトラップがまだあります。私たちが試すことに影響はありません。 PHP Filter について詳しくは、また別の記事で書けると思います。

-- 分割 --

最後に、PHP は実際には長持ちするツールであることを嘆きます。注意しないと、悲劇的に車輪の再発明をすることになります。したがって、時々 PHP ドキュメントを参照すると、毎回新しいことを学ぶことができます。

http://www.bkjia.com/PHPjc/321649.html

tru​​ehttp://www.bkjia.com/PHPjc/321649.html技術記事 sys_getloadavg() この関数は、現在のシステムの負荷平均情報を返します (もちろん、Windows では適用されません)。詳細なドキュメントについては、関連する PHP ドキュメントを参照してください。基本的にはドキュメントにサンプルコードがあります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。