ディレクトリとファイルの基本操作 1 (44)
ディレクトリ パスの解決
PHP スクリプトを使用すると、ディレクトリの作成、ディレクトリの移動、ディレクトリの再評価、ディレクトリの削除などのディレクトリ操作が容易になります。
??一般的に使用されるファイル ディレクトリ パスの形式:
??$unixPath="/var/www/html/index.php";
//UNIX システムの絶対パスは「/」で区切る必要があります
??$ winPath= "C:\Appserv\www\index.php";
//Windows システムの絶対パス。デフォルトでは "" で区切られています
??$winPath2="C:/Appserv/www/index.php";
// Windows システムでは、「/」を使用して区切ることもできます。
??絶対パスと相対パスの使用に注意してください。
PHP ファイルパス関連関数
??basename -- パスのファイル名の部分を返します
??構文: string Basename( string path [, string suffix] )
?? file フルパスの文字列。この関数は基本的なファイル名を返します。ファイル名が接尾辞で終わる場合は、この部分も削除されます。
??dirname -- パスのディレクトリ部分を返します
??構文: string dirname(string path)
??ファイルへのフルパスを含む文字列を指定すると、この関数はファイル名を削除した後のディレクトリを返します。
$path= "/home/httpd/html/index.php";
$file=basename($path);// $file値: "index.php"
$file=basename($ path, ".php"); // $file 値: "index "
$file= dirname($path); // $file 値: "/home/httpd/html"
?>
pathinfo--ファイルパス情報を返す
?? 構文: array pathinfo( string path [, intoptions] )
??pathinfo() パス情報を含む連想配列を返します。次の配列単位が含まれます: dirname、basename、および extension。
$path_parts= pathinfo("/www/htdocs/index.html");
echo $path_parts["dirname"] "n"; "] . "n"; //index.html
echo $path_parts["extension"] . "n"; // html
?>
??realpath -- 正規化された絶対パス名を返します
?? 構文: string realpath( string path )
??realpath() は、すべてのシンボリック リンクを展開し、入力パス内の '/./'、'/../'、および冗長な '/' を処理し、正規化された絶対パス名を返します。返されたパスには、シンボリック リンク、「/./」または「/../」コンポーネントはありません。
??構文: resource opendir( string path [, resource context] )
??ディレクトリハンドルを開きます。これは後続のclosedir()、readdir()に使用できます。 ) と rewinddir( ) が呼び出されています。
??readdir--ディレクトリ ハンドルからエントリを読み取ります
??構文: string readdir(resource dir_handle)
??現在のディレクトリ ポインタ位置にあるファイル名を返します。false は返さず、ポインタを 1 ビット下に移動します。ファイル名はファイル システム内の順序で返されます。
??closedir -- ディレクトリ ハンドルを閉じます
??構文: void Closedir(resource dir_handle)
??dir_handle で指定されたディレクトリ ストリームを閉じます。ストリームは、事前に opendir() で開かれている必要があります。
??rewinddir--rewind ディレクトリ ハンドル
??構文: void rewinddir(resource dir_handle)
??dir_handle で指定されたディレクトリ ストリームをディレクトリの先頭にリセットします。
??構文: float disc_free_space(string directory)
??ディレクトリを含む文字列を指定すると、この関数は対応するファイル システムまたはディスク パーティションは利用可能なバイト数を返します。
??disk_total_space -- ディレクトリの合計ディスク サイズを返します
??構文: float disc_total_space(string directory)
??ディレクトリを含む文字列を指定すると、この関数は対応するファイル システムまたはディスク パーティションに従って返されます。すべてのバイト。
<?php<span>//</span><span>自定义一个函数dirSize(),统计传入参数的目录大小</span><span>function dirSize($directory) { $dir_size</span>=<span>0</span>;<span>//</span><span>初值为0,用来累加各文件大小从而计算目录大小</span><span>if</span>($dir_handle=@opendir($directory)){ <span>//</span><span>打开目录并判断成功打开</span><span>while</span>($filename=readdir($dir_handle)) { <span>//</span><span>循环遍历目录</span><span>if</span>($filename!=<span>"</span><span>.</span><span>"</span> && $filename!=<span>"</span><span>..</span><span>"</span>) { <span>//</span><span>排除特殊的目录</span>$subFile=$directory.<span>"</span><span>/</span><span>"</span>.$filename; <span>//</span><span>将文件和目录相连</span><span>if</span>(is_dir($subFile)) <span>//</span><span>如果为目录</span>$dir_size+=dirSize($subFile); <span>//</span><span>求子目录的大小</span><span>if</span>(is_file($subFile)) <span>//</span><span>如果是文件</span>$dir_size+=filesize($subFile); <span>//</span><span>求出文件的大小并累加</span><span>} } closedir($dir_handle); </span><span>//</span><span>关闭文件资源</span><span>return</span> $dir_size; <span>//</span><span>返回计算后的目录大小</span><span>} } $dir_size</span>=dirSize(<span>"</span><span>phpMyAdmin</span><span>"</span>); <span>//</span><span>调函数计算目录大小,返回目录大小</span>echo round($dir_size/pow(<span>1024</span>,<span>1</span>),<span>2</span>).<span>"</span><span>KB</span><span>"</span>;<span>//</span><span>将目录字节换为“KB”单位</span>?>
??構文: boostkdir(string pathname [,intmode])
??pathnameで指定された新しいディレクトリを作成してみます。
??rmdir--ディレクトリの削除
??構文: boolrmdir(string dirname)
??dirname で指定されたディレクトリを削除してみます。ディレクトリは空である必要があり、適切な権限が必要です。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
??unlink -- ファイルを削除します
??構文: boolunlink (string filename)
??ファイル名を削除します。 Unix C の unlink() 関数に似ています。成功した場合は TRUE、失敗した場合は FALSE を返します
<?php<span>//</span><span>自定义函数递归的删除整个目录</span><span>function delDir($directory) { </span><span>if</span>(file_exists($directory)) { <span>//</span><span>判断目录是否存在,如果存在则执行</span><span>if</span>($dir_handle=@opendir($directory)){ <span>//</span><span>打开返回目录资源,并判断</span><span>while</span>($filename=readdir($dir_handle)){ <span>//</span><span>遍历目录读出目录中信息</span><span>if</span>($filename!=<span>"</span><span>.</span><span>"</span> && $filename!=<span>"</span><span>..</span><span>"</span>) { <span>//</span><span>一定要排除两个特殊目录</span>$subFile=$directory.<span>"</span><span>/</span><span>"</span>.$filename;<span>//</span><span>将目录下文件和当前目录相连</span><span>if</span>(is_dir($subFile)) <span>//</span><span>如果是目录条件则成立</span>delDir($subFile); <span>//</span><span>递归调用自己删除子目录</span><span>if</span>(is_file($subFile)) <span>//</span><span>如果是文件条件则成立</span>unlink($subFile); <span>//</span><span>直接删除这个文件</span><span>} } closedir($dir_handle); </span><span>//</span><span>关闭目录资源</span>rmdir($directory); <span>//</span><span>删除空目录</span><span>} } } delDir(</span><span>"</span><span>phpMyAdmin</span><span>"</span>); <span>//</span><span>调用函数,将程序所在目录中phpMyAdmin文件夹删除</span>?>
??構文: boolcopy (string source, string dest)
??source から dest にファイルをコピーします。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
??PHP にはディレクトリのコピーと移動に関連する機能はありません。必要に応じて、機能をカスタマイズするだけです。
ファイルの基本操作
ファイルの開閉fopen--打开文件或者URL
??语法:resource fopen( string filename, string mode [, booluse_include_path[, resource zcontext]] )
??fopen() 将filename指定的名字资源绑定到一个流上。如果filename是"scheme://..." 的格式,则被当成一个URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将filename当成一个普通的文件名继续执行下去。
??mode参数指定了所要求到该流的访问类型。
??如果也需要在include_path中搜寻文件的话,可以将可选的第三个参数use_include_path设为'1' 或TRUE。
??如果打开失败,本函数返回FALSE。
fclose--关闭一个已打开的文件指针
写入文件
fwrite--写入文件(可安全用于二进制文件)
??语法:intfwrite( resource handle, string string[, intlength] )
??fwrite() 把string的内容写入文件指针handle处。如果指定了length,当写入了length个字节或者写完了string以后,写入就会停止,视乎先碰到哪种情况。返回写入的字符数,出现错误时则返回FALSE
读取文件内容
??fread--读取文件(可安全用于二进制文件)
??string fread( inthandle, intlength )
??fread() 从文件指针handle读取最多length个字节。该函数在读取完length个字节数,或到达EOF 的时候,或(对于网络流)当一个包可用时就会停止读取文件,视乎先碰到哪种情况。
<?<span>php $handle </span>= fopen(<span>"</span><span>http://www.example.com/</span><span>"</span>, <span>"</span><span>rb</span><span>"</span><span>); $contents </span>= <span>""</span><span>; </span><span>while</span> (!<span>feof($handle)) { $contents .</span>= fread($handle, <span>8192</span><span>); } fclose($handle); </span>?>
fgets--从文件指针中读取一行
??语法:string fgets( inthandle [,intlength])
??从handle指向的文件中读取一行并返回长度最多为length-1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了length -1 字节后停止(看先碰到那一种情况)。如果没有指定length,则默认为1K,或者说1024 字节。
??fgetc--从文件指针中读取字符
??语法:string fgetc( resource handle )
??返回一个包含有一个字符的字符串,该字符从handle指向的文件中得到。碰到EOF 则返回FALSE。
file--把整个文件读入一个数组中
??语法:array file ( string filename [, intuse_include_path[, resource context]] )
??和readfile()一样,只除了file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败file() 返回FALSE。
??readfile--输出一个文件
??语法:intreadfile( string filename [, booluse_include_path[, resource context]] )
??读入一个文件并写入到输出缓冲。
??返回从文件中读入的字节数。如果出错返回FALSE 并且除非是以@readfile() 形式调用,否则会显示错误信息。
以上就介绍了目录与文件的基本操作一 (44),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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

ホットトピック









Java の String.valueOf() 関数を使用して基本データ型を文字列に変換する Java 開発で基本データ型を文字列に変換する必要がある場合、一般的な方法は String クラスの valueOf() 関数を使用することです。この関数は、基本データ型のパラメータを受け入れ、対応する文字列表現を返すことができます。この記事では、基本的なデータ型変換に String.valueOf() 関数を使用する方法を検討し、いくつかのコード例を提供します。

char配列をstringに変換する方法:代入によって実現できます {char a[]=" abc d\0efg ";string s=a;} 構文を使用して、char配列にstringに値を直接代入させて実行します変換を完了するためのコード。

Linux システムで PATH 環境変数を設定する方法 Linux システムでは、PATH 環境変数を使用して、システムがコマンド ラインで実行可能ファイルを検索するパスを指定します。 PATH 環境変数を正しく設定すると、任意の場所でシステム コマンドやカスタム コマンドを実行できるようになります。この記事では、Linux システムで PATH 環境変数を設定する方法と詳細なコード例を紹介します。現在の PATH 環境変数を表示する ターミナルで次のコマンドを実行して、現在の PATH 環境変数を表示します: echo$P

Java の String.replace() 関数を使用して文字列内の文字 (文字列) を置換する Java では、文字列は不変オブジェクトです。つまり、文字列オブジェクトが作成されると、その値は変更できません。ただし、文字列内の特定の文字または文字列を置換する必要がある状況が発生する場合があります。現時点では、Java の String クラスの replace() メソッドを使用して文字列置換を実装できます。 String クラスの replace() メソッドには 2 つのタイプがあります。

皆さんこんにちは。今日は Java の基本知識である String についてお話します。 String クラスの重要性は言うまでもなく、バックエンド開発で最もよく使用されるクラスであるため、説明する必要があります。

Golang プログラミングでは、バイト、ルーン、文字列型は非常に基本的で一般的なデータ型です。これらは、文字列やファイル ストリームなどのデータ操作の処理において重要な役割を果たします。これらのデータ操作を実行するときは、通常、データを相互に変換する必要があるため、変換スキルを習得する必要があります。この記事では、読者がこれらのデータ型をより深く理解し、プログラミングの実践に上手に適用できるようにすることを目的として、Golang 関数のバイト、ルーン、および文字列の型変換テクニックを紹介します。

文字列の長さを取得するには、Java の String.length() 関数を使用します。Java プログラミングでは、文字列は非常に一般的なデータ型です。多くの場合、文字列の長さ、つまり文字列内の文字数を取得する必要があります。 Java では、String クラスの length() 関数を使用して文字列の長さを取得できます。簡単なコード例を次に示します。 publicclassStringLengthExample{publ

パス環境変数を設定する方法: 1. Windows システムでは、[システムのプロパティ] を開き、[プロパティ] オプションをクリックし、[システムの詳細設定] をクリックし、[システムのプロパティ] ウィンドウで [詳細] タブを選択します。 「環境変数」ボタンをクリックし、「パス」を見つけてクリックして編集し、保存します。 2. Linux システムの場合は、ターミナルを開き、bash 構成ファイルを開き、ファイルの最後に「export PATH=$PATH: file path」を追加します。ファイルを保存して保存します; 3. MacOS システムの場合、操作は上記と同じです。
