PHP mkdir() に書き込み権限がない場合の解決策_PHP チュートリアル
mkdir を使用してフォルダーを作成する場合、この関数には 2 つのパラメーターがあることがわかりました。2 番目のパラメーターは、新しく作成されたフォルダーのアクセス許可を指定します。
ただし、 mkdir('file address', 0777); を直接使用すると、新しいフォルダーのアクセス許可が 777 ではなく、通常は 022 であることがわかります。
mkdir がフォルダーのアクセス許可を設定するとき、現在オペレーティング システムにログインしているユーザーの umask (ユーザーのデフォルトのアクセス許可属性) 値とのビット "AND" が実行され、その結果の値が最終的なアクセス許可の値になるためです。
umaskそれは何ですか?
ファイルを作成するためのデフォルトの権限はどこで取得できますか?このデフォルトの権限を変更するにはどうすればよいですか?
システムにログインしてファイルを作成すると、常にデフォルトの権限が与えられます。では、この権限はどこから来るのでしょうか?これが umask の機能です。
umask は、ユーザーが作成したファイルのデフォルトのアクセス許可を設定します。これは、chmod がファイルのアクセス許可コードを設定するのに対し、umask は「補完コード」を設定します。通常、umask 値は /etc/profile、$HOME/.bash_profile、または $HOME/.profile に設定されます。
umask値を計算するにはどうすればよいですか?
umask コマンドを使用すると、ファイルの作成時にデフォルト モードを設定できます。ユーザーの種類 (ファイル所有者、同じグループ内のユーザー、その他のユーザー) ごとに、umask 値に対応する番号があります。ファイルの場合、この数値の最大値は 6 です。システムでは、テキスト ファイルの作成時に実行権限を与えることはできません。作成後に chmod コマンドを使用して、この権限を増やす必要があります。ディレクトリでは実行権限を設定できるため、ディレクトリの場合、umask の最大数は 7 までです。
このコマンドの一般的な形式は umask nnn です。nnn は 000 ~ 777 です。
umask はアクセス許可から対応するビットを「取り除く」ということだけを覚えておく必要があります。
例: umask 値が 022 の場合、デフォルトのディレクトリ権限は 755、デフォルトのファイル権限は 644 です。
したがって、ユーザー umask が 022 (通常、デフォルトはこれです)、つまり 000 010 010 は mkdir で指定された 777、つまり 111 111 111 に等しい場合、「AND」の後、取得される実際の権限は 022 になります。 。
新しいフォルダーの権限を最大化したい場合、それを実現する方法が 2 つあります: (もちろん、現在のユーザーが最高の権限を付与できるという条件の下で)
1. ユーザー umask を変更します。PHP は umask 関数を提供します:
$oldumask=umask(0); mkdir('テスト',0777); umask($oldumask);
2. chmod 関数を使用します。これも最も一般的に使用される方法です。
コードをコピーします
最後に、アクセス許可の値は 8 進数、つまり「0」で始まる表現が最適であり、引用符を含めないように注意してください。
www.bkjia.com

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
