ホームページ バックエンド開発 PHPチュートリアル PHPフォルダ・ファイルディレクトリ操作機能_PHPチュートリアル

PHPフォルダ・ファイルディレクトリ操作機能_PHPチュートリアル

Jul 20, 2016 am 10:59 AM
php 一度 関数 同級生 存在する 要約する 操作する 書類 フォルダ 記事 使用 目次

この記事では、PHP でよく使用されるフォルダー/ファイル ディレクトリの操作関数をいくつか紹介します。これらは、初心者の方の参考になれば幸いです。 ​

phpフォルダ操作機能


文字列ベース名 (文字列パス [, 文字列サフィックス] )

ファイルへのフルパスを含む文字列を指定すると、この関数は基本ファイル名を返します。ファイル名が接尾辞で終わる場合、この部分も削除されます。

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() を参照してください。


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

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


文字列 readdir (リソース dir_handle)

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


void Closedir (リソース dir_handle)

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


void rewinddir (リソース dir_handle)

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


配列 glob (文字列パターン [, int フラグ] )

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 より前では、GLOB_ONLYDIR は、GNU C ライブラリを使用しない Windows またはその他のシステムでは使用できません。

GLOB_ERR - エラー メッセージ (読み取り不能なディレクトリなど) を停止して読み取ります。デフォルトではすべてのエラーを無視します

注: GLOB_ERR は PHP 5.1 で追加されました。

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


新しいファイルを作成します

1.まずファイルに書き込む内容を決定します

$content = 'こんにちは';

2. このファイルを開きます (システムはこの空のファイルを自動的に作成します)

//新しく作成されたファイルは file.txt という名前で、上位ディレクトリにあるとします。 w は「書き込みファイル」を意味し、$fp の下で開いているファイルを指すために使用されます。

$fp = fopen('../file.txt', 'w');

3. コンテンツ文字列をファイルに書き込みます

//$fp は書き込まれるファイルをシステムに指示し、書き込まれる内容は $content です

fwrite($fp, $content);

4. ファイルを閉じます

fclose($fp);

注: PHP5 には、より便利な関数 file_put_contents が用意されており、上記の 4 つの手順は次のように完了できます。

$content = 'こんにちは';

file_put_contents('file.txt',$content);

ファイルを削除する

//カレントディレクトリのarchディレクトリにあるファイルabc.txtを削除します

リンク解除('arch/abc.txt');

注: システムは、成功した場合は操作結果を TRUE、失敗した場合は FALSE を返し、削除が成功したかどうかを確認するために変数を使用できます。

$deleteResult = unlink('arch/abc.txt');

ファイルの内容を取得する

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

$content = file_get_contents('../file.txt');

ファイルの内容を変更する

操作方法は新規コンテンツ作成と基本的に同じです

ファイルまたはディレクトリの名前を変更する

//現在のディレクトリのサブディレクトリ a にあるファイル 1.gif の名前を 2.gif に変更します。

名前を変更('/a/1.gif', '/a/2.gif');

注: ディレクトリについても同様です。システムは操作結果を返します。成功した場合は TRUE、失敗した場合は FALSE を受け取り、名前の変更が成功したかどうかを知ることができます。

$renameResult = rename('/a/1.gif', '/a/2.gif');

ファイルまたはディレクトリを移動したい場合は、名前を変更したパスを新しいパスに設定するだけです:

//現在のディレクトリのサブディレクトリ a にあるファイル 1.gif を現在のディレクトリのサブディレクトリ b に移動し、名前を 2.gif に変更します。

名前変更('/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 = ファイルサイズ('../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 に代入します。これは無限ループに陥らないようにするために $filename !== false も必要です。必ず !== を使用してください。ファイル名が「0」である場合、またはシステムが false を表すとみなした場合、!= を使用するとループが停止します*/

while( ($filename = readdir($handler)) !== false ) {

3. ディレクトリには「.」と「..」という名前の 2 つのファイルがありますが、これらは操作しないでください

if($filename != "." && $filename != "..") {

4. プロセス

//ここでは単に echo を使用してファイル名を出力します

$ファイル名をエコー;

}

}

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 です。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445605.html技術記事この記事では、PHP でよく使用されるフォルダー/ファイル ディレクトリの操作関数をいくつか紹介します。これらは、初心者の方に役立つことを願っています。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

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

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

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

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles