php文件夹与文件目录操作函数介绍_PHP
php文件夹操作函数
string basename ( string path [, string suffix] )
给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。
在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符。在其它环境下是斜线(/)。
string dirname ( string path )
给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。
在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符。在其它环境下是斜线(/)。
array pathinfo ( string path [, int options] )
pathinfo() 返回一个联合数组包含有 path 的信息。包括以下的数组单元:dirname,basename 和 extension。
可以通过参数 options 指定要返回哪些单元。它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION。默认是返回全部的单元。
string realpath ( string path )
realpath() 扩展所有的符号连接并且处理输入的 path 中的 ‘/./', ‘/../' 以及多余的 ‘/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 ‘/../' 成分。
realpath() 失败时返回 FALSE,比如说文件不存在的话。在 BSD 系统上,如果仅仅是 path 不存在的话,PHP 并不会像其它系统那样返回 FALSE。
bool is_dir ( string filename )
如果文件名存在并且为目录则返回 TRUE。如果 filename 是一个相对路径,则按照当前工作目录检查其相对路径。
注: 本函数的结果会被缓存。更多信息参见 clearstatcache()。
resource opendir ( string path [, resource context] )
打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。
string readdir ( resource dir_handle )
返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
void closedir ( resource dir_handle )
关闭由 dir_handle 指定的目录流。流必须之前被 opendir() 所打开。
void rewinddir ( resource dir_handle )
将 dir_handle 指定的目录流重置到目录的开头。
array glob ( string pattern [, int flags] )
glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。
返回一个包含有匹配文件/目录的数组。如果出错返回 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 在 Windows 或者其它不使用 GNU C 库的系统上不可用。
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
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');
说明:系统会返回一个数字,表示文件的大小是多少字节(bytes)。
新建目录
//在当前目录下的目录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、目录下都会有两个文件,名字为'.'和‘..',不要对他们进行操作
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。

ホット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)

ホットトピック

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

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

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

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

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

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

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

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