ホームページ バックエンド開発 PHPチュートリアル PHP 関数の紹介 - fileperms(): ファイルのアクセス許可を取得する

PHP 関数の紹介 - fileperms(): ファイルのアクセス許可を取得する

Jul 25, 2023 pm 03:36 PM
PHP関数 PHP 関数の紹介 -fileperms(): ファイルのアクセス許可を取得する fileperms()

PHP 関数の紹介 - fileperms(): ファイル権限の取得

PHP 開発では、ファイルが読み取り可能、書き込み可能、​​または実行可能であるかどうかを判断するなど、ファイル権限情報を取得する必要がある場合があります。 PHP 関数 fileperms() は、この機能の実現に役立ちます。この記事では、fileperms()関数の使い方と例を詳しく紹介します。

fileperms() 関数は、ファイルのアクセス許可を取得するために使用されます。そのプロトタイプは次のとおりです。

string fileperms (string $filename)

このうち、$filename はパーミッション情報を取得するためのファイルパスです。この関数は、ファイルのアクセス許可を表す文字列を返します。

次は、fileperms() 関数を使用してファイルのアクセス許可を取得する方法を示す簡単な例です。

<?php
    $filename = 'test.txt';
    $perms = fileperms($filename);
    echo "文件{$filename}的权限是:{$perms}";
?>
ログイン後にコピー

この例では、取得するファイルとして test.txt を使用します。権限。 fileperms() 関数によって返された権限情報は変数 $perms に格納され、権限情報は echo ステートメントを通じてユーザーに出力されます。

上記のコードを実行すると、出力は次のようになります:

文件test.txt的权限是:33204
ログイン後にコピー

この例では、関数によって返されるアクセス許可が整数であることがわかります。実際、この整数はファイルのアクセス許可を表し、下位 9 ビットはファイルの読み取り、書き込み、実行のアクセス許可を識別するために使用されます。このうち、

  • # の 1 桁目は実行可能かどうか、
  • # の 2 桁目は書き込み可能かどうか、
  • # の 3 桁目は実行可能かどうかを示します。読み取れるかどうかを示します。

返された整数は、これら 3 つのアクセス許可を格納するためにメモリ内の異なるビットを使用するため、特定のアクセス許可を取得するにはいくつかのビット操作を使用する必要があります。

これは、fileperms() によって返された整数を読み取り可能なアクセス許可文字列に変換するヘルパー関数です:

<?php
    function format_perms($perms) {
        $result = '';
        if (($perms & 0xC000) == 0xC000) {
            $result .= 's';
        } elseif (($perms & 0xA000) == 0xA000) {
            $result .= 'l';
        } elseif (($perms & 0x8000) == 0x8000) {
            $result .= '-';
        } elseif (($perms & 0x6000) == 0x6000) {
            $result .= 'b';
        } elseif (($perms & 0x4000) == 0x4000) {
            $result .= 'd';
        } elseif (($perms & 0x2000) == 0x2000) {
            $result .= 'c';
        } elseif (($perms & 0x1000) == 0x1000) {
            $result .= 'p';
        } else {
            $result .= 'u';
        }
    
        if (($perms & 0x0100) == 0x0100) {
            $result .= 'r';
        } else {
            $result .= '-';
        }
    
        if (($perms & 0x0080) == 0x0080) {
            $result .= 'w';
        } else {
            $result .= '-';
        }
    
        if (($perms & 0x0040) == 0x0040) {
            if ($perms & 0x0800) {
                $result .= 's';
            } else {
                $result .= 'x';
            }
        } else {
            if (($perms & 0x0800) == 0x0800) {
                $result .= 'S';
            } else {
                $result .= '-';
            }
        }
    
        if (($perms & 0x0020) == 0x0020) {
            $result .= 'r';
        } else {
            $result .= '-';
        }
    
        if (($perms & 0x0010) == 0x0010) {
            $result .= 'w';
        } else {
            $result .= '-';
        }
    
        if (($perms & 0x0008) == 0x0008) {
            if ($perms & 0x0400) {
                $result .= 't';
            } else {
                $result .= 'x';
            }
        } else {
            if (($perms & 0x0400) == 0x0400) {
                $result .= 'T';
            } else {
                $result .= '-';
            }
        }
    
        if (($perms & 0x0004) == 0x0004) {
            $result .= 'r';
        } else {
            $result .= '-';
        }
    
        if (($perms & 0x0002) == 0x0002) {
            $result .= 'w';
        } else {
            $result .= '-';
        }
    
        if (($perms & 0x0001) == 0x0001) {
            $result .= 'x';
        } else {
            $result .= '-';
        }
    
        return $result;
    }
    
    $filename = 'test.txt';
    $perms = fileperms($filename);
    $formatted_perms = format_perms($perms);
    
    echo "文件{$filename}的权限是:{$formatted_perms}";
?>
ログイン後にコピー

このコードを実行すると、出力は次のようになります:

文件test.txt的权限是:-rw-r--r--
ログイン後にコピー

この例では、補助関数 format_perms() を定義して、fileperms() によって返された整数を読み取り可能なアクセス許可文字列に変換します。最後に、echo ステートメントを使用して、書式設定された許可文字列をユーザーに出力します。

概要:

PHP 開発では、ファイルのアクセス許可情報を取得する必要があることがよくあります。 fileperms() 関数を使用すると、ファイルのアクセス許可を簡単に取得できます。この記事では、fileperms() 関数の使用法を詳しく説明し、サンプル コードを提供します。この機能を使用すると、ファイルに対する操作がアクセス許可の要件に準拠していることを確認できます。

この記事を通じて、fileperms() 関数をよりよく理解して使用できるようになり、PHP 開発能力が向上することを願っています。

以上がPHP 関数の紹介 - fileperms(): ファイルのアクセス許可を取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP関数を通じて画像の遅延読み込み効果を最適化するにはどうすればよいですか? PHP関数を通じて画像の遅延読み込み効果を最適化するにはどうすればよいですか? Oct 05, 2023 pm 12:13 PM

PHP 関数を通じて画像の遅延読み込み効果を最適化するにはどうすればよいですか?インターネットの発展に伴い、Web ページ内の画像の数が増加し、ページの読み込み速度に圧力がかかっています。ユーザーエクスペリエンスを向上させ、読み込み時間を短縮するために、画像の遅延読み込みテクノロジーを使用できます。画像の遅延読み込みにより、画像の読み込みが遅れる可能性があります。画像は、ユーザーが表示領域までスクロールしたときにのみ読み込まれるため、ページの読み込み時間が短縮され、ユーザー エクスペリエンスが向上します。 PHP Web ページを作成する場合、いくつかの関数を作成することで画像の遅延読み込み効果を最適化できます。詳細は以下

PHP関数を使用してメモリ使用量を削減するにはどうすればよいですか? PHP関数を使用してメモリ使用量を削減するにはどうすればよいですか? Oct 05, 2023 pm 01:45 PM

PHP 関数を使用してメモリ使用量を削減する方法 開発において、メモリ使用量は非常に重要な考慮事項です。プログラムで大量のメモリが使用されると、速度が低下したり、プログラムがクラッシュしたりする可能性があります。したがって、メモリ使用量を合理的に管理し削減することは、すべての PHP 開発者が注意を払うべき問題です。この記事では、PHP 関数を通じてメモリ使用量を削減するいくつかの方法を紹介し、読者の参考となる具体的なコード例を示します。 PHP で変数を解放するには、unset() 関数を使用します。変数が不要になった場合は、次を使用します。

PHP 関数の紹介—curl_multi_getcontent(): cURL セッションのコンテンツを取得する PHP 関数の紹介—curl_multi_getcontent(): cURL セッションのコンテンツを取得する Jul 26, 2023 pm 03:01 PM

PHP 関数の紹介—curl_multi_getcontent(): cURL セッションのコンテンツを取得する PHP 開発では、ネットワークを介して他のサーバーにデータを要求することがよくあります。 cURL (ClientURL) は、PHP でのネットワーク通信に使用される強力な PHP 拡張ライブラリです。 cURL は一連の関数を提供します。そのうちの 1 つは、cURL セッションのコンテンツを取得するために使用されるcurl_multi_getcontent()です。

PHP の非推奨: 関数 ereg_replace() は非推奨です - 解決策 PHP の非推奨: 関数 ereg_replace() は非推奨です - 解決策 Aug 18, 2023 am 10:48 AM

PHPDeprecated: Functionereg_replace()isdeprecated-Solution PHP で開発する場合、一部の関数が非推奨と宣言されるという問題によく遭遇します。これは、最新の PHP バージョンでは、これらの関数が削除または置き換えられる可能性があることを意味します。一般的な例の 1 つは ereg_replace() 関数です。 ereg_replace

PHP 関数のパフォーマンスはどの程度ですか? PHP 関数のパフォーマンスはどの程度ですか? Apr 18, 2024 pm 06:45 PM

さまざまな PHP 関数のパフォーマンスは、アプリケーションの効率にとって非常に重要です。パフォーマンスの良い関数には echo や print などがありますが、str_replace、array_merge、file_get_contents などの関数のパフォーマンスは低くなります。たとえば、str_replace 関数は文字列の置換に使用され、中程度のパフォーマンスを発揮しますが、sprintf 関数は文字列の書式設定に使用されます。パフォーマンス分析によると、1 つの例の実行にかかる時間はわずか 0.05 ミリ秒であり、関数が適切に実行されることが証明されています。したがって、関数を賢く使用すると、アプリケーションをより高速かつ効率的に実行できます。

PHPの画像処理機能を利用した画像編集・加工機能の実装方法まとめ PHPの画像処理機能を利用した画像編集・加工機能の実装方法まとめ Nov 20, 2023 pm 12:31 PM

PHPの画像処理関数は、画像の加工・編集に特化した関数群であり、開発者に豊富な画像処理機能を提供します。これらの機能を通じて、開発者は画像のトリミング、拡大縮小、回転、透かしの追加などの操作を実装して、さまざまな画像処理のニーズを満たすことができます。まずはPHPの画像処理関数を使って画像の切り抜き機能を実現する方法を紹介します。 PHP には、画像のトリミングに使用できる imagecrop() 関数が用意されています。トリミング領域の座標とサイズを渡すことで、画像をトリミングできます

PHP 関数と Flutter 関数の類似点と相違点 PHP 関数と Flutter 関数の類似点と相違点 Apr 24, 2024 pm 01:12 PM

PHP 関数と Flutter 関数の主な違いは、宣言、構文、戻り値の型です。 PHP 関数は暗黙的な戻り値の型変換を使用しますが、Flutter 関数は ? を通じてオプションのパラメータを指定できますが、Flutter 関数は必須パラメータと [] を使用して名前付けパラメータを渡します。 Flutter 関数は、{} を使用して名前付きパラメータを指定します。

PHP 関数と他の言語の関数の比較 PHP 関数と他の言語の関数の比較 Apr 10, 2024 am 10:03 AM

PHP 関数には他の言語の関数との類似点がありますが、いくつかの独自の機能もあります。構文的には、PHP 関数は function で宣言され、JavaScript は function で宣言され、Python は def で宣言されます。パラメータと戻り値の点では、PHP 関数はパラメータを受け入れて値を返します。JavaScript と Python にも同様の関数がありますが、構文が異なります。スコープに関しては、PHP、JavaScript、Python の関数はすべてグローバル スコープまたはローカル スコープを持ち、グローバル関数にはどこからでもアクセスできますが、ローカル関数には宣言スコープ内でのみアクセスできます。

See all articles