ホームページ >php教程 >PHP开发 >Perl の古典的な使用法: より詳細な制御のために Sysopen() を使用する

Perl の古典的な使用法: より詳細な制御のために Sysopen() を使用する

黄舟
黄舟オリジナル
2016-12-16 13:52:522096ブラウズ

ファイルを開く方法をより適切に制御するために、sysopen() 関数を使用できます:

useFcntl;

sysopen(FH,$filename,O_RDWR|O_CREAT,0666)

ordie"Can'topen$filenameforread/writing /creating :$!";

関数 sysopen() は 4 つのパラメーターを取ります。最初のパラメーターは、open() 関数に似たファイル ハンドル パラメーターです。2 番目のパラメーターは、モード情報のないファイル名です。3 番目のパラメーターはモードです。パラメータは、Fcntl モジュールによって提供される論理 OR 演算と結合された定数で構成されます。4 番目のパラメータ (オプション) は、8 進数の属性値です (0666 はデータ ファイルを表し、0777 はプログラムを表します)。 sysopen() は、ファイルを開くことができる場合は true を返し、ファイルを開くことができない場合は false を返します。

open() 関数とは異なり、sysopen() はモード記述の省略形を提供しませんが、いくつかの定数を組み合わせます。さらに、各モード定数は独自の意味を持ち、論理 OR 演算を通じてのみ組み合わせることができます。複数の動作の組み合わせを設定します。

O_RDONLY読み取り専用

O_WRONLY書き込み専用

O_RDWR読み取りと書き込み

O_APPENDファイルの末尾に書き込みます

O_TRUNCTファイルが存在する場合は切り捨てます

O_CREATファイルが存在しない場合はファイルを作成します

O_EXCLErrorifthefilealreadyexisted(usedwithO_CREAT)

注意が必要な場合には sysopen() 関数を使用してください。ファイルにコンテンツを追加する場合は、新しいファイルを作成せずに、次のように記述できます:

sysopen(LOG,"/var/log/myPROg.log",O_APPEND,0666)

ordie"Can' toopen/var/log/myprog.logforappending:$!";

上記は Perl の古典的な使用法です。Sysopen() を使用してさらに制御します。その他の関連記事については、PHP 中国語 Web サイトに注目してください。 (www.php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。