目次
php文件,文件夹(目录)操作函数总结
您可能感兴趣的文章
ホームページ php教程 php手册 php文件,文件夹(目录)操作函数总结

php文件,文件夹(目录)操作函数总结

Jun 13, 2016 am 09:05 AM
php 操作する 書類 フォルダ 目次

php文件,文件夹(目录)操作函数总结

本文章来给各位同学总结一下在php中一些常用的文件夹/文件目录操作函数总结,这些只是简单的介绍一些基础方法做个备注。

1、创建目录(mkdir)

bool mkdir (string $pathname [,int $mode [,bool $recursive [,resource $context ]]] )

<?php  
mkdir("/path/to/my/dir", 0777);  //成功返回true,失败返回false;
ログイン後にコピー

2、判断文件是否存在(file_exist)

bool file_exists (string $filename )

<?php  
$filename = '/path/to/phpernote.txt';
echo file_exists($filename)?'文件存在':'文件不存在';
ログイン後にコピー

3、检查指定的文件是否是目录,一般也用于判断目录是否存在(is_dir)

bool is_dir (string $filename )

<?php
var_dump(is_dir('a_file.txt'));//  输出false  
var_dump(is_dir('wwwroot/phpernote')); //相对当前目录检查wwwroot/phpernote目录是否存在,存在输出true,不存在输出false
var_dump(is_dir('..')); //输出true
ログイン後にコピー

注释:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。

4、判断给定文件名是否为一个正常的文件 (is_file)

bool is_file ( string $filename )

<?php  
var_dump(is_file('a_file.txt'));//true  
var_dump(is_file('/usr/bin/'));//false
ログイン後にコピー

5、锁定或释放文件(flock)

bool flock ( string $filename, string $lock [,mix $block] )

lock 参数可以是以下值之一:

要取得共享锁定(读取的程序),将 lock 设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1)。
要取得独占锁定(写入的程序),将 lock 设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2)。
要释放锁定(无论共享或独占),将 lock 设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3)。
如果不希望 flock() 在锁定时堵塞,则给 lock 加上 LOCK_NB(PHP 4.0.1 以前的版本中设置为 4)。

block 可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。

提示:可以通过 fclose() 来释放锁定操作,代码执行完毕时也会自动调用。例如:

<?php
$file = fopen("test.txt","w+");
// 排它性的锁定
if (flock($file,LOCK_EX)){
  if(is_writable($file))
  fwrite($file,"www.phpernote.com 总结的文章");
  // 解锁
  flock($file,LOCK_UN);
}else{
  echo "锁定文件失败!";
}
fclose($file);
ログイン後にコピー

6、判断给定文件名是否为一个符号连接 (is_link)

bool is_link ( string $filename )

<?php  
var_dump(is_link("a.lnk")); //输出true
ログイン後にコピー

注释:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。

7、删除目录 (rmdir)此函数仅删除空目录(rmdir)

bool rmdir ( string $dirname ) 

<?php
var_dump(rmdir("/usr/local/a")); //当a为空目录删除成功,a为非空目录删除失败
ログイン後にコピー

8、删除文件(unlink)

bool unlink ( string $filename )

<?php
while(is_file($wwwphpernotecom) == TRUE){
	chmod($wwwphpernotecom, 0666);//设置可读取,可写入权限
	unlink($wwwphpernotecom);
}
ログイン後にコピー

9、获取文件或目录的权限(fileperms)

mix fileperms ( filename )

<?php
//若成功,则返回文件的访问权限。若失败,则返回 false
echo fileperms("test.txt");//输出:33206
ログイン後にコピー

以八进制值返回权限

<?php
echo substr(sprintf("%o",fileperms("test.txt")),-4);//输出:1777
ログイン後にコピー

提示:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。

10、获取指定文件或目录的类型(filetype)

mix filetype ( filename )

若成功,则返回 7 种可能的值(fifo char dir block link file unknown)。若失败,则返回 false。例如:

<?php
echo filetype("test.txt");//输出:file
ログイン後にコピー

提示:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。

11、读取目录文件(opendir readir closedir)

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 指定的目录流重置到目录的开头。

下面是一个完整的读取目录文件的示例:

<?php
$dir = "/etc/php5/";
if (is_dir($dir)) {  
    if ($dh = opendir($dir)) {  
        while (($file = readdir($dh)) !== false) {  
            echo "文件名: $file : 文件类型: " . filetype($dir . $file) . "\n";  
        }  
        closedir($dh);  
    }  
}
ログイン後にコピー

12、重命名文件或目录(rename)

bool rename ( oldname, newname, context )

<?php
//将当前目录下的子目录a下面的文件1.gif重命名为2.gif
rename('/a/1.gif', '/a/2.gif');
ログイン後にコピー

说明:对目录也一样。系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE。

如果要移动文件或目录,只要将重命名后的路径设置为新的路径就可以了,例如:

<?php
//将当前目录下的子目录a下面的文件1.gif,移动到当前目录下的子目录b,并且重命名为2.gif
rename('/a/1.gif', '/b/2.gif');
//注意:如果目录b不存在,就会移动失败
ログイン後にコピー

13、复制(拷贝)文件(copy)

bool copy ( source, destination )

<?php
//将当前目录下的子目录a下面的文件1.gif,复制到当前目录下的子目录b,并命名为2.gif
copy('/a/1.gif', '/b/1.gif');
ログイン後にコピー

说明:不能对目录进行此项操作;如果目标文件(上面的/b/1.gif)已经存在,原来的文件将被覆盖;如果要移动文件的话,请使用 rename() 函数。

14、获取目录的可用空间(disk_free_space)

disk_free_space ( directory )

<?php
echo disk_free_space("C:");//输出:209693288558
ログイン後にコピー

15、判断指定的文件是否可写(is_writable 或 is_writeable)

bool is_writable ( file )

说明:如果文件存在并且可写则返回 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 函数

您可能感兴趣的文章

  • php清空(删除)指定目录下的文件,不删除目录文件夹的方法
  • php判断文件或目录(文件夹)是否存在
  • linux chmod(文件或文件夹权限设定)命令参数及用法详解
  • MySQL通过命令形式导入与导出.sql文件备份数据操作的实例
  • php提取身份证号码中的生日日期以及验证是否为未成年人的函数
  • PHP向文件写入或追加数据
  • linux删除文件,文件夹命令rm 命令详解
  • Linux命令文件目录管理cat命令
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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 にアップグレードする方法について説明します。

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 は、

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles