phpのいくつかの設定ファイル関数

高洛峰
リリース: 2023-03-02 19:28:02
オリジナル
1044 人が閲覧しました

今まで気にしたこともなかったのですが、今日同僚から聞いて早速見てみました。
PHP の設定関数は、主に設定ファイルの制御を目的としたいくつかの ini_* 関数です。実際には、ini_get、ini_set、ini_get_all、ini_restore の 4 つの関数があります。個人的に最も便利なのは、ini_set と ini_get です。

* ini_get(): 設定ファイルのオプション値を取得します

この関数は、設定ファイル内のオプションの値を取得するために使用されます。 1 を返します。偽値の場合は 0 を返します。文字列は文字列を返します。
たとえば、マニュアルの例:
/*
php.ini には次の設定が含まれています:

display_errors = On
register_globals = Off
post_max_size = 8M
*/
echo 'display_errors = ' . ini_get( 'display_errors') . 'n'; // 表示エラーがオンかどうか
echo 'register_globals = ' . ini_get('register_globals') .// グローバル変数がオンかどうか
= ' . ini_get('post_max_size ') . 'n';// 送信できる最大ファイルサイズ
' post_max_size 1 = ' (ini_get('post_max_size') '?>

出力:

display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size 1 = 9

この関数は主に設定ファイルを取得するためのもので、これにより多くの操作が容易になります。たとえば、文字列フィルタリングを制御したいが、magic_quotes_gpc がオンになっているかどうかわからないため、次のような関数を作成できます:

/* 文字列フィルタリング関数*/

function stringFilter($str)
{
if (ini_get( 'magic_quotes_gpc)') {
return $str;
} else {
returnaddslashes($str);
}
}
もちろん、グローバル変数が開いているかどうかを知る方法がない場合は、次のような関数をカスタマイズすることもできます:

/* 変数検出関数*/

function getGetVar($var)
{
if (ini_set('register_gobals')) {
return $var;
} else {
return $_GET ['var'];
}
}
もちろん、さまざまな目的に使用できますし、自分自身でも徐々に理解できるようになります。

* ini_set関数: php.iniに特定の変数の値を設定します

この関数は、関数の実行後に有効になります。無効。すべてのオプションが関数で設定できるわけではありません。特定の値を設定でき、マニュアルのリストを参照できます。

これは、php.ini でオプション値を設定できることを意味します。たとえば、display_error オプションは閉じられていますが、プログラムのデバッグを容易にするためにプログラム内のエラー情報を表示したい場合は、次の関数を使用できます。

ini_set('display_errors', 'On ');

これにより、ページ上のプログラムでエラー情報が表示され、error_reporting を使用して表示されるエラー情報のレベルを設定することもできます。

スクリプトの実行時間を増やす必要がある場合は、次のように設定できます:

ini_set('max_execution_time', '180');

これにより、スクリプトの実行時間がデフォルトの 30 秒から 180 秒に変更されます。 set_time_limit() を使用して設定することもできます。

実際、ini_set と ini_get を一緒に使用すると非常に効果的です。たとえば、独自のインクルード ファイル パスを設定ファイルに追加したいが、php.ini を変更する権限がある場合は、2 つの関数を組み合わせることができます:


関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート