第6章 PHPのディレクトリとファイル操作_PHPチュートリアル
1つ。ディレクトリ操作
basename -- パスのファイル名部分を返します
dirname -- パスのディレクトリ部分を返します
pathinfo -- ファイルパス情報を返します
realpath -- 正規化された絶対パス名を返します
$path = 'demo1.php';
echobasename($path);
echo '
;
echo ディレクトリ名 ($path);
$array_path = pathinfo($path);
echo 'basename : '.$array_path['basename']';
echo 'ディレクトリ名 : '.$array_path['dirname'].'
';
echo '拡張子 : '.$array_path['extension'].'
';
echo 'ファイル名 : ' .$array_path[ 'FILENAME']. '& LT; ASIC6 tExtent: PHP
ファイル名: Demo1
2.ディスク、ディレクトリ、ファイル数
1. ファイル サイズとディスク容量を表示します
filesize -- ファイル サイズを取得します
disk_total_space -- ディレクトリの合計ディスク サイズを返します
コードをコピーします
コードは次のとおりです:
$path ='demo2.php';
$path = realpath($path);
$drive = 'c:';ファイルサイズ($path)/ 1024,2).'kb'.'
';
echoround(disk_free_space($drive)/1024/1024/1024,2).'GB'.'< br/>';
> 出力 0.26kb 10.61GB
2. ファイルのさまざまな時刻を取得します
fileatime -- ファイルの最終アクセス時刻を取得します
filectime -- ファイルの i ノード変更時刻を取得します
filemtime -- ファイルの変更時刻を取得します
コードをコピーします
コードは次のとおりです:
$file = realpath ( '../Basic5/demo3.php' );
$date_format = 'Y-m-d h:i:s' ;
echo '最終アクセス時刻 : '.date ( $date_format , fileatime ( $file ) ) '
';
echo '最終変更時刻 : '.date ( $date_format , filectime ( $file ) ) 。 '
';
echo '最後の変更時刻: '.date ( $date_format, filemtime ( $file ) ) ';
output
lastest accessing time : 2011-12-18 04:26:49
lastest change time : 2011-12-18 04:26:49
lastest modify time : 2011-12-18 04:29:15
三.文件处理
文件读写的两种方式:
1.php所有版本都支持的方法:
fopen -- 打开文件或者 URL
fclose -- 关闭一个已打开的文件指针
fwrite -- 写入文件(可安全用于二进制文件)
表 1. fopen() 中 mode 的可能值列表
mode |
说明 |
'r' |
只读方式打开,将文件指针指向文件头。 |
'r+' |
读写方式打开,将文件指针指向文件头。 |
'w' |
写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'w+' |
读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'a' |
写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'a+' |
读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'x' |
创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
'x+' |
创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
$fp = fopen('file1.txt','w');
$outStr = "my name is anllin,\r\nmy age is 29.";
fwrite($fp,$outStr,strlen($outStr));
fclose($fp);
?>
output
my name is anllin,
my age is 29.
2.php5新加入的方法
file_put_contents -- 将一个字符串写入文件
file_put_contents('file2.txt',"my name is anllin,\r\nmy age is 29.");
?>
output
my name is anllin,
my age is 29.
读出文件内容的方法:
函数 |
功能 |
Fgetc() |
读出一个字符,并将指针移到下一个字符 |
Fgets() |
读出一行字符,可以指定一行显示的长度。 |
Fgetss() |
从文件指针中读取一行并过滤掉HTML标记 |
Fread() |
读取定量的字符 |
Fpassthru() |
输出文件到指定处的所有剩余数据 |
File() |
将整个文件读入数组中,以行分组 |
Readfile() |
读入一个文件并写入到输出缓冲 |
File_get_contents() |
将整个文件读入一个字符串 |
Feof() |
判断读完文件函数 |
File_exists() |
查看文件是否存在 |
私の名前は anllin、
私の年齢は 29 です。
fgetc -- ファイル ポインタから文字を読み取ります
Demo.php
echo fgetc($fp);
?>
出力:
my
コードをコピーします
私の名前はアンリンですは 29 です。
fgetss -- ファイル ポインタから 一行読み込んで HTML タグを除外します
コードは次のとおりです:
出力
私の名前はアンリンですファイルを読み取ります (バイナリ ファイルには安全です)
コードをコピーします
コードは次のとおりです:
$fp = fopen($filename,'; r');
$contents = fread($fp,filesize($ filename));
fclose($fp);
コードをコピーします
コードは次のとおりです:
$filename = 'file1.txt'; ($filename,'rb');
$leftSize = fpassthru($fp);
私の名前は 29 です。 33
file -- ファイル全体を配列に読み込みます
$lines = file('file1.txt');
foreach ($)行を $line_num =>
{
echo $line_num.'
'
}
output
0 : 私の名前はアンリンです。 1 : 私の年齢は 29 です。
readfile -- ファイルを出力します
$size = readfile('file1.txt');
echo $size;
?>
出力
私の名前はanllin、私の年齢は29.33です
コードをコピーします
コードをコピーします
コードは次のとおりです:
php
$fp = fopen('file1.txt','r' );
while(!feof($fp))
コードをコピーします
コードは次のとおりです:
$filename = 'file1.txt';
?>
出力
ファイルの読み取りおよび書き込み操作を実行します
filesize -- ファイルのサイズを取得します
$file_size = filesize('file1.txt');
output
33
unlink -- 删除文件
$isDeleted = unlink('file3.txt');
echo $isDeleted;
?>
output
1
rewind -- 倒回文件指针的位置
ftell -- 返回文件指针读/写的位置
fseek -- 在文件指针中定位
$fp = fopen ( 'file1.txt', 'r' );
fgetc ( $fp );
fgetc ( $fp );
echo ftell ( $fp ) . '
';
rewind ( $fp );
echo ftell ( $fp ) . '
';
fgetc ( $fp );
fgetc ( $fp );
echo ftell ( $fp ) . '
';
fseek($fp,0);//same as rewind ($fp)
echo ftell ( $fp ) . '
';
?>
output
2
0
2
0
Flock的操作值
操作值 |
意义 |
LOCK_SH(以前为1) |
读写锁定。这意味着文件可以共享,其他人可以读该文件 |
LOCK_EX(以前为2) |
写操作锁定。这是互斥的,该文件不能被共享 |
LOCK_UN(以前为3) |
释放已有的锁定 |
LOCK_NB(以前为4) |
防止在请求加锁时发生阻塞 |
$filename = 'file1.txt'
$fp = fopen($filename,'rb'; );
flock($fp,LOCK_EX);//ロックされた
$contents = fread($fp,filesize($filename));
flock($fp,LOCK_UN);//ロック解除された
echo $contents; $fp ;
コードは次のとおりです:
$dir= opendir('../Basic6')
while(!!$file = readdir($) dir))
' } closedir($dir)?>
..
.buildpath
.project
.settings
demo1.php
demo10.php
demo11.php
demo12.php
demo13.php
demo15.php
demo16.php
demo17.php
demo18.php
demo19.php
demo2.php
demo20 .php
demo3.php
demo4.php
demo5.php
demo6.php
demo7.php
demo8.php
demo9.php
file1.txt
file2.txt
scandir -- 指定されたパス内のファイルとディレクトリを一覧表示します
コードをコピーします
コードは次のとおりです:
$files = scandir('../Basic6')
foreach($files as $file)
{
echo $file .'
';
.settings
demo1.php
demo11.php
デモ12.php
デモ13 .php
demo14.php
demo15.php
demo16.php
demo18.php
demo2.php
demo20.php
demo21.php
demo3.php
demo4.php
demo5.php
demo6.php
デモ7.php
demo8.php
demo9.php
file1.txt
file2.txt
rename -- ファイルまたはディレクトリの名前を変更します
コードをコピーします
コードは次のとおりです:
rename('demo1.php ','demo01.php');
if(file_exists('demo01.php'))
{
echo 'ファイル名変更成功'
}
else
{
echo 'ファイル名の変更に失敗しました';
コードをコピーします
コードは次のとおりです:
rmdir ('123');
if(file_exists('123') )
{
echo 'ファイルの削除に失敗しました'
?>ファイル成功
技術記事
1つ。ディレクトリ操作basename -- パスのファイル名部分を返します dirname -- パスのディレクトリ部分を返します pathinfo -- ファイル パスに関する情報を返します realpath -- 正規化された絶対パスを返します...

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











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

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

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

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用して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の魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7
