この記事では、PHPでよく使われるフォルダー・ファイルディレクトリ操作関数をいくつかまとめて、メモとしていくつかの基本的な方法を紹介します。 。
1. ディレクトリ(mkdir)を作成します
bool mkdir (string $pathname [,int $mode [,bool $recursive [,resource $context ]]] )
リーリー2. ファイルが存在するかどうかを確認します(file_exist)
bool file_exists (string $filename )
リーリー3. 指定されたファイルがディレクトリであるかどうかを確認します。これは通常、ディレクトリが存在するかどうかを判断するために使用されます (is_dir)
bool is_dir (string $filename )
リーリー注: この関数の結果はキャッシュされます。キャッシュをクリアするには、clearstatcache() を使用してください。
4. 指定されたファイル名が通常のファイルかどうかを判断します (is_file)
bool is_file (string $filename)
リーリー5. ファイルをロックまたは解放する(flock)
bool flock ( string $filename, string $lock [,mix $block] )
lock パラメータには次の値のいずれかを指定できます:
共有ロック (プログラムの読み取り) を取得するには、ロックを LOCK_SH に設定します (PHP 4.0.1 より前のバージョンでは 1 に設定)。
排他的ロック (プログラムの書き込み) を取得するには、ロックを LOCK_EX に設定します (PHP 4.0.1 より前のバージョンでは 2 に設定)。
ロック (共有または排他) を解放するには、ロックを LOCK_UN に設定します (PHP 4.0.1 より前のバージョンでは 3 に設定)。
flock() をロック時にブロックしたくない場合は、ロックに LOCK_NB を追加します (PHP 4.0.1 より前のバージョンでは 4 に設定)。
ブロックはオプションです。 1 または true に設定すると、ロック中に他のプロセスがブロックされます。
ヒント: fclose() を使用すると、コードの実行時に自動的に呼び出されるロック操作を解放できます。例:
リーリー6. 指定されたファイル名がシンボリックリンクであるかどうかを判断します (is_link)
bool is_link (string $filename)
リーリー注: この関数の結果はキャッシュされます。キャッシュをクリアするには、clearstatcache() を使用してください。
7. ディレクトリの削除 (rmdir) この関数は空のディレクトリのみを削除します (rmdir)
bool rmdir (文字列 $dirname )
リーリー8. ファイルを削除する(リンクを解除する)
bool リンク解除 (文字列 $filename)
リーリー9. ファイルまたはディレクトリの権限を取得します(fileperms)
ミックスファイルパーマ (ファイル名)
リーリーアクセス許可を 8 進数値として返します
リーリーヒント: この関数の結果はキャッシュされます。キャッシュをクリアするには、clearstatcache() を使用してください。
10. 指定されたファイルまたはディレクトリの種類を取得します(filetype)
ファイルタイプ (ファイル名) をミックス
成功した場合は、7 つの可能な値を返します (fifo char dir ブロック リンク ファイルが不明)。失敗した場合は false を返します。例:
リーリーヒント: この関数の結果はキャッシュされます。キャッシュをクリアするには、clearstatcache() を使用してください。
11. ディレクトリファイルの読み取り(opendir readir Closedir)
リソース opendir ( string $path [,resource $context ] )
後続のclosedir()、readdir()、rewinddir()呼び出しで使用できるディレクトリハンドルを開きます。
文字列 readdir (リソース $dir_handle)
ディレクトリ内の次のファイルのファイル名を返します。ファイル名はファイル システム内の順序で返されます。
void Closedir ( resource $dir_handle )
dir_handle で指定されたディレクトリ ストリームを閉じます。ストリームは、opendir() によって事前に開かれている必要があります。
void rewinddir ( resource $dir_handle )
dir_handle で指定されたディレクトリ ストリームをディレクトリの先頭にリセットします。
ディレクトリ ファイルを読み取る完全な例を次に示します:
リーリー12. ファイルまたはディレクトリの名前を変更します(名前変更)
bool 名前変更 (古い名前、新しい名前、コンテキスト)
リーリー注: ディレクトリについても同様です。システムは操作結果を返します。成功した場合は TRUE、失敗した場合は FALSE を返します。
ファイルまたはディレクトリを移動する場合は、名前を変更したパスを新しいパスに設定するだけです。例:
リーリー13. ファイルをコピー(コピー)(コピー)
ブールコピー (ソース、宛先)
リーリー注: この操作はディレクトリに対して実行できません。ターゲット ファイル (上記の /b/1.gif) が既に存在する場合、ファイルを移動する場合は、rename() 関数を使用してください。 。
14. ディレクトリの空き容量(disk_free_space)を取得します
disk_free_space (ディレクトリ)
リーリー15. 指定されたファイルが書き込み可能かどうかを判断します (is_writable または is_writeable)
bool is_writable (ファイル)
说明:如果文件存在并且可写则返回 true;file 参数可以是一个允许进行是否可写检查的目录名;本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。例如:
<?php $file = "test.txt"; //或者:$file = 'd:\wwwroot\phpernote\'; echo is_writable($file)?'可写':'不可写';
16、以读写(w+)模式建立一个具有唯一文件名的临时文件(tmpfile)
resource tmpfile()
<?php $temp = tmpfile(); fwrite($temp, "Testing, www.phpernote.com"); //倒回文件的开头 rewind($temp); //从文件中读取 1k echo fread($temp,1024); //删除文件 fclose($temp); //文件会在关闭后(用 fclose())自动被删除,或当脚本结束后 //输出:Testing, www.phpernote.com
17、改变文件权限模式(chmod)
bool chmod ( file [,mode] )
mode 可选。规定新的权限。该参数由 4 个数字组成:
第一个数字永远是 0
第二个数字规定所有者的权限
第二个数字规定所有者所属的用户组的权限
第四个数字规定其他所有人的权限
可能的值(如需设置多个权限,请对下面的数字进行总计):
1 - 执行权限
2 - 写权限
4 - 读权限
<?php // 所有者可读写,其他人没有任何权限 chmod("test.txt",0600); // 所有者可读写,其他人可读 chmod("test.txt",0644); // 所有者有所有权限,其他所有人可读和执行 chmod("test.txt",0755); // 所有者有所有权限,所有者所在的组可读 chmod("test.txt",0740);
18、扩展函数,方法
php读取目录并列表显示目录中的文件的函数
PHP删除目录及目录下所有文件
更多文件,文件夹(目录)函数请参考:
PHP Filesystem 函数