ホームページ php教程 php手册 phpのフォルダーとファイルディレクトリの操作関数の紹介_phpの基本

phpのフォルダーとファイルディレクトリの操作関数の紹介_phpの基本

May 16, 2016 am 09:00 AM
フォルダ ファイルディレクトリ

php フォルダ操作関数

string Basename (string path [, string suffix])
ファイルへの完全パスを含む文字列を指定すると、この関数はベース ファイル名を返します。ファイル名が接尾辞で終わる場合、この部分も削除されます。
Windows では、スラッシュ (/) とバックスラッシュ () の両方をディレクトリ区切り文字として使用できます。他の状況では、スラッシュ (/) になります。

文字列ディレクトリ名 (文字列パス)

ファイルへの完全パスを含む文字列を指定すると、この関数はファイル名を削除した後のディレクトリ名を返します。
Windows では、スラッシュ (/) とバックスラッシュ () の両方をディレクトリ区切り文字として使用できます。他の状況では、スラッシュ (/) になります。

配列パス情報 (文字列パス [, int オプション] )

pathinfo() は、パス情報を含む連想配列を返します。次の配列要素が含まれます: dirname、basename、および extension。
オプション パラメータを使用して、どの単位を返すかを指定できます。これらには、PATHINFO_DIRNAME、PATHINFO_BASENAME、および PATHINFO_EXTENSION が含まれます。デフォルトでは、すべての単位が返されます。

文字列実パス (文字列パス)

realpath() は、すべてのシンボリック リンクを展開し、入力パス内の '/./'、'/../'、および冗長な '/' を処理し、正規化された絶対パス名を返します。返されたパスには、シンボリック リンク、「/./」または「/../」コンポーネントはありません。
realpath() は、ファイルが存在しない場合など、失敗すると FALSE を返します。 BSD システムでは、パスが単に存在しない場合、PHP は他のシステムのように FALSE を返しません。

bool is_dir (文字列ファイル名)

ファイル名が存在し、ディレクトリである場合は TRUE を返します。 filename が相対パスの場合、その相対パスは現在の作業ディレクトリに対してチェックされます。
注: この関数の結果はキャッシュされます。詳細については、clearstatcache() を参照してください。

リソース opendir (文字列パス [, リソース コンテキスト] )

後続の Closedir()、readdir()、および rewinddir() 呼び出しで使用できるディレクトリ ハンドルを開きます。

文字列 readdir (リソース dir_handle)

ディレクトリ内の次のファイルのファイル名を返します。ファイル名はファイル システム内の順序で返されます。

void Closedir (リソース dir_handle)

dir_handle で指定されたディレクトリ ストリームを閉じます。ストリームは、opendir() によって事前に開かれている必要があります。

void rewinddir ( resource dir_handle )

dir_handle で指定されたディレクトリ ストリームをディレクトリの先頭にリセットします。

配列 glob (文字列パターン [, int flags] )

glob() 関数は、通常のシェルで使用されるルールと同様に、libc glob() 関数で使用されるルールに従って、パターンに一致するすべてのファイル パスを検索します。略語展開やパラメータ置換は行われません。
一致するファイル/ディレクトリを含む配列を返します。エラーが発生した場合は FALSE を返します。

有効なタグは次のとおりです。
GLOB_MARK - 返される各項目にスラッシュを追加します。
GLOB_NOSORT - ディレクトリ内での元の出現順序でファイルを返します (ソートなし)。
GLOB_NOCHECK - ファイルがない場合一致は、検索に使用されたパターンを返します
GLOB_NOESCAPE - バックスラッシュのエスケープされていないメタ文字
GLOB_BRACE - {a,b,c} を展開して 'a'、'b'、または 'c' に一致させます
GLOB_ONLYDIR - ディレクトリのみを返しますパターンに一致するエントリ

注: PHP 4.3.3 より前は、Windows または GNU C ライブラリを使用しないその他のシステムでは GLOB_ONLYDIR を使用できませんでした。
GLOB_ERR - エラー メッセージ (読み取り不能なディレクトリなど) を停止して読み取ります。デフォルトではすべてのエラーを無視します。
注: GLOB_ERR は PHP 5.1 で追加されました。

php ファイル ディレクトリの操作

新しいファイルを作成します
1. まず、ファイルに書き込むコンテンツを決定します
$content = 'Hello';
2. このファイルを開きます (システムはこの空のファイルを自動的に作成します)
/ / 新しく作成されたファイルは file.txt という名前で、上位ディレクトリにあるとします。 w は「書き込みファイル」を意味し、$fp の下で開いているファイルを指すために使用されます。
$fp = fopen('../file.txt', 'w');
3. コンテンツ文字列をファイルに書き込みます
//$fp は、書き込むファイルをシステムに指示します。 write 入力されたコンテンツは $content です
fwrite($fp, $content);
4. ファイルを閉じます
fclose($fp);
注: PHP5 には、上記のより便利な関数 file_put_contents が用意されています。 4 つのステップは次のように完了できます:
$content = 'Hello';
file_put_contents('file.txt',$content);

ファイルの削除
//現在のディレクトリの Arch ディレクトリにあるファイル abc.txt を削除します
unlink('arch/abc.txt');
注: システムは操作結果を返します。成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。変数を使用してそれを受け取ると、削除が成功したかどうかを知ることができます:
$deleteResult = unlink('arch/abc.txt');

ファイルの内容を取得
//対象ファイル名は file.txt で、上位ディレクトリにあるものとします。取得したコンテンツは$contentに格納されます。
$content = file_get_contents('../file.txt');

ファイルの内容を変更する
操作方法は基本的に新規コンテンツの作成と同じです

ファイルまたはディレクトリの名前を変更します
//現在のディレクトリのサブディレクトリ a にあるファイル 1.gif の名前を 2.gif に変更します。
rename('/a/1.gif', '/a/2.gif');
注: ディレクトリについても同じことが当てはまります。システムは操作結果 (成功した場合は TRUE、失敗した場合は FALSE) を返します。変数を使用してそれを受け取り、名前変更が成功したかどうかを知ることができます。
$renameResult = rename('/a/1.gif', '/a/2.gif');
ファイルまたはディレクトリを移動する場合は、名前を変更したパスを新しいパスに設定するだけです。以上です:
//現在のディレクトリのサブディレクトリ a にあるファイル 1.gif を現在のディレクトリのサブディレクトリ b に移動し、名前を 2.gif に変更します。
rename('/a/1.gif', '/b/2.gif');
ただし、ディレクトリ b が存在しない場合、移動は失敗することに注意してください。

ファイルをコピー
//現在のディレクトリのサブディレクトリ a にあるファイル 1.gif を現在のディレクトリのサブディレクトリ b にコピーし、2.gif という名前を付けます。
copy('/a/1.gif', '/b/1.gif');
説明: この操作はディレクトリに対して実行できません。
ターゲット ファイル (上記の /b/1.gif) がすでに存在する場合、元のファイルは上書きされます。
システムは操作結果 (成功した場合は TRUE、失敗した場合は FALSE) を返します。変数を使用してそれを受け取ると、コピーが成功したかどうかを知ることができます。
$copyResult = copy('/a/1.gif', '/b/1.gif');

ファイルやディレクトリの移動
操作方法は名前変更と同じです

ファイルまたはディレクトリが存在するかどうか
//上位ディレクトリにファイル logo.jpg が存在するかどうかを確認します。
$existResult = file_exists('../logo.jpg');
注: ファイルが存在する場合、システムは true を返し、存在しない場合は false を返します。ディレクトリに対しても同様の操作が可能です。

ファイルサイズの取得
//上位ディレクトリにあるlogo.pngファイルのサイズを取得します。
$size = filesize('../logo.png');
説明: システムはファイルのサイズをバイト単位で示す数値を返します。

新しいディレクトリを作成します
//現在のディレクトリのディレクトリ a の下に新しいディレクトリ b を作成します。
mkdir('/a/b');
注: システムは操作結果を返します。成功した場合は TRUE、失敗した場合は FALSE。変数を使用して結果を受け取り、新しい作成が成功したかどうかを知ることができます。 :
$mkResult = mkdir('/a/b');

ディレクトリの削除
//現在のディレクトリのディレクトリ a の下にあるサブディレクトリ b を削除します。
rmdir('/a/b');
注: 空でないディレクトリのみを削除できます。それ以外の場合は、最初にディレクトリ内のサブディレクトリとファイルを削除し、次にディレクトリ全体を削除する必要があります。
システムは操作結果を返し、成功した場合は TRUE を返し、失敗した場合は FALSE を返します。変数を使用してそれを受け取ると、削除が成功したかどうかを知ることができます:
$deleteResult = rmdir('/a/b');ぱ>

ディレクトリ内のすべてのファイル名を取得します
1. まず、操作対象のディレクトリを開き、変数を使用してそれを指します
//現在のディレクトリのディレクトリ pic の下にあるサブディレクトリ common を開きます。
$handler = opendir('pic/common');
2. ディレクトリ内のすべてのファイルを読み取るループ
/*ここで、$filename = readdir($handler) は、読み取られたファイル名が割り当てられます。無限ループに陥らないようにするには、$filename !== false も必要です。必ず !== を使用してください。ファイル名が '0' である場合、またはシステムが false を表すとみなした場合、 != を使用するとループが停止します */
while( ($filename = readdir( $ handler)) !== false ) {
3. ディレクトリ内に '.' と '..' という名前の 2 つのファイルがあります。これらを操作しないでください。
if($filename != "." && $filename != "..") {
4. プロセス
//ここでは単に echo を使用してファイル名を出力します
echo $filename;
}
}
5. ディレクトリを閉じます
closedir($handler);

オブジェクトがディレクトリかどうか
//上位ディレクトリにある対象オブジェクトlogo.jpgがディレクトリかどうかを確認します。
$checkResult = is_dir('../logo.jpg');
注: ターゲット オブジェクトがディレクトリ システムの場合は true を返し、それ以外の場合は false を返します。もちろん、上記の例の $checkResult は false です。

オブジェクトがファイルかどうか
//上位ディレクトリにある対象オブジェクト logo.jpg がファイルかどうかを確認します。
$checkResult = is_file('../logo.jpg');
注: ターゲット オブジェクトがファイルの場合、システムは true を返し、それ以外の場合は false を返します。もちろん、上記の例の $checkResult は true です。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Windows 11でフォルダーのサイズを表示するにはどうすればよいですか? Windows 11でフォルダーのサイズを表示するにはどうすればよいですか? Sep 23, 2023 pm 06:13 PM

デフォルトでは、Windows 11 ではエクスプローラーにフォルダー サイズが表示されませんが、エクスプローラーの設定で特定の変更を加えてフォルダー サイズを表示することができます。このガイドでは、PC 上のディスク領域を効果的に管理できるように、フォルダーのサイズを表示する最も簡単な方法のいくつかについて説明します。 Windows 11 でフォルダーのサイズを確認するにはどうすればよいですか? 1. フォルダーの [プロパティ] ウィンドウを使用して、+ を押して Windows エクスプローラー ウィンドウを開きます。 WindowsE サイズを確認したいフォルダーに移動し、右クリックしてコンテキスト メニューから「プロパティ」を選択します。フォルダーのプロパティ ウィンドウで、[全般] タブに移動し、[サイズ] セクションを見つけて、フォルダーが占めるスペースの量を確認します。 2.「」を有効にする

Win11の背景画像はどこに保存されていますか? Win11の背景画像はどこに保存されていますか? Dec 27, 2023 am 11:59 AM

win11 システムでは、誰でも使える新しい壁紙がたくさん更新されているため、多くのユーザーが win11 の壁紙がどの​​フォルダーにあるかに興味があり、フォルダーを開いて中の壁紙を見たいと考えています。壁紙をご覧ください。 win11 の壁紙はどのフォルダーにありますか: 1. システムには壁紙が付属しています: 1. まずコンピューターに入り、パス C:\Windows\Web\Wallpaper を開きます。 2. 次に、Windows フォルダーに入ると、システムに付属の壁紙が表示されます。 2. ユーザーが保存した壁紙: 1. ユーザーがインストールした壁紙は、C:\Users (ユーザー)\xx (現在のユーザー名)\AppData\Local\Microso に保存されます。

Windows 11/10でファイルを別のフォルダーに自動的にコピーする方法 Windows 11/10でファイルを別のフォルダーに自動的にコピーする方法 Feb 19, 2024 am 11:24 AM

この記事では、Windows 11/10でファイルを別のフォルダーに自動コピーする方法を紹介します。データの損失を避けるためにバックアップを作成する必要があります。データ損失は、ハード ドライブの破損、マルウェア攻撃など、さまざまな理由で発生する可能性があります。コピー アンド ペースト方法またはサードパーティ ツールを使用して、データを手動でバックアップできます。 Windows コンピューター上のデータを自動的にバックアップできることをご存知ですか?この記事ではその方法を紹介します。 Windows 11/10 でファイルを別のフォルダーに自動的にコピーする方法 タスク スケジューラを使用して、Windows 11/10 でファイルやフォルダーを別の宛先フォルダーに自動的にコピーする方法この記事では詳細なガイダンスを提供します。お願いします

win10テーマフォルダーの場所を詳しく知る方法 win10テーマフォルダーの場所を詳しく知る方法 Dec 27, 2023 pm 09:37 PM

最近、多くの友人が Win10 のテーマが自分の美学に合わないと感じ、テーマを変更したいと考えています。オンラインでダウンロードした後、フォルダーが見つからないことに気づきました。その後、エディターがそのフォルダーを見つける方法を示します。 Win10のテーマ。 Win10 テーマはどのフォルダーにありますか? 1. Win10 システム壁紙のデフォルトの保存パスの場所: 1. Microsoft はこれらの画像をパス C:\Windows\Web\Wallpaper に保存します。その下に 3 つの異なるテーマの画像がデフォルトで保存されます。 . ロケ地、2、花と線と色のテーマ写真も同じ名前のフォルダに保存されています!命名規則は imgXXX です。この原則に従う必要があるのは、設定する関連画像の名前を変更し、その画像を貼り付ける場合だけです。

win11のパソコンフォルダにパスワードを設定する方法 win11のパソコンフォルダにパスワードを設定する方法 Jan 12, 2024 pm 02:27 PM

最新の win11 システムにアップデートした後、ほとんどの友達はプライバシーを保護するためにフォルダーを暗号化する方法がわからないため、その方法を紹介しました。win11 コンピューターのフォルダーにパスワードを設定する方法を見てみましょう。 win11 コンピューターのフォルダーにパスワードを設定する方法: 1. まず、暗号化するフォルダーを見つけます。 2. 次に、フォルダーを右クリックし、「プロパティ」を選択します。 3. [プロパティ] の [詳細設定] をクリックします。 4. メニューの「コンテンツを暗号化してデータを保護する」にチェックを入れ、「OK」をクリックします。 5. 最後に、フォルダーのプロパティに戻り、ポップアップ ウィンドウで [OK] をクリックします。

同期したフォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しません 同期したフォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しません Mar 18, 2024 am 09:46 AM

同期フォルダー内の 1 つ以上のアイテムが Outlook のエラー メッセージと一致しない場合は、会議アイテムを更新またはキャンセルしたことが原因である可能性があります。この場合、ローカル バージョンのデータがリモート コピーと競合していることを示すエラー メッセージが表示されます。この状況は通常、Outlook デスクトップ アプリケーションで発生します。同期したフォルダー内の 1 つ以上のアイテムが一致しません。競合を解決するには、プロジェクトを開いて操作を再試行します。同期フォルダー内の 1 つ以上のアイテムが Outlook エラーと一致しない問題を修正する Outlook デスクトップ バージョンでは、ローカルの予定表アイテムがサーバー コピーと競合すると問題が発生する可能性があります。ただし幸いなことに、それを助ける簡単な方法がいくつかあります

デフォルトのフォルダー パスを見つけて、win11 の壁紙の詳細を共有する デフォルトのフォルダー パスを見つけて、win11 の壁紙の詳細を共有する Jan 30, 2024 pm 03:15 PM

パソコンを使用する際に壁紙を変更するユーザーも多いと思いますが、win11の壁紙はどのフォルダーにあるのか気になる方も多いのではないでしょうか?システムに付属の壁紙は C ドライブの壁紙にあり、ユーザーが保存した壁紙は C ドライブの Themes フォルダーにあります。このサイトでは、win11 のデフォルトの壁紙パスをユーザーに共有する方法を丁寧に紹介します。 win11 のデフォルトの壁紙パスを共有します。 1. システムには次の壁紙が付属しています。 1. まずコンピューターに入り、次のパスを開きます: C: Windows Web 壁紙。 2. ユーザーが保存した壁紙: 1. ユーザーがインストールした壁紙は次の場所に保存されます: C:Users (ユーザー) xx (現在のユーザー名) AppDataLocalM

win10フォルダーにパスワード保護を設定する方法 win10フォルダーにパスワード保護を設定する方法 Feb 29, 2024 am 09:00 AM

win10 システムを使用しているとき、多くの人はコンピューター内の機密ファイルの漏洩を心配しています。実際、ユーザーは win10 のフォルダー パスワード保護機能を使用するだけでこの問題を解決できます。今日のエディターは、この機能を有効にするのに役立ちます。 win10 フォルダーにパスワード保護を設定する方法 1. まず、暗号化するフォルダーを選択し、フォルダーを右クリックして、ポップアップ オプション バーの [プロパティ] をクリックする必要があります。 2. プロパティ インターフェイスで、右下隅にある [詳細オプション] をクリックします。 3. 詳細プロパティ インターフェイスに入り、データを保護するためにコンテンツを暗号化する前にチェック ボックスをオンにし、[OK] をクリックします。 4. システムが自動的に確認属性変更インターフェイスをポップアップ表示します。インターフェイスで [OK] をクリックします。 5. このようにして、パスワード保護が正常に設定され、元のアカウントの使用には影響がありません。

See all articles