PHP の高度な機能 2: ファイル処理
PHP のファイル処理も非常に重要なモジュールです。この記事の主な内容は、PHP のファイル システムの紹介です。
ファイルシステムの目的
1. プロジェクト処理はファイル処理と切り離せない
2. ファイルはデータを長期間保存するために使用できます
3 .キャッシュの作成、サーバーでのファイル操作の実行
ファイルシステム関数の使い方の詳細
1. 🎜>
is_dir — 指定されたファイル名がディレクトリであるかどうかを判断しますfile_exists — ファイルまたはディレクトリが存在するかどうかを確認しますis_file — 指定されたファイル名がファイルであるかどうかを判断します
is_executable — 指定されたファイル名が実行可能かどうかを判断します
is_link — 指定されたファイル名がシンボリック リンクかどうかを判断します
is_readable — 指定されたファイル名が読み取り可能かどうかを判断します
is_uploaded_file — ファイルが HTTP POST 経由でアップロードされたかどうかを判断します
is_writable — 指定された
ファイル名が書き込み可能かどうかを判断しますis_writeable — is_writable のエイリアス
2. ファイル関連情報を取得します
fileatime — ファイルの最終アクセス時刻を取得します
filectime — ファイルの i ノード変更時刻を取得します
filegroup — ファイルのグループを取得します
fileinode — ファイルの i ノードを取得します
filemtime — ファイルの変更時刻を取得します
fileowner — 取得ファイルの所有者
fileperms — ファイル権限を取得します
filesize — ファイル サイズを取得します
filetype — ファイルの種類を取得します
では、以下に例を記述し、ファイル名を渡してその詳細情報を出力します。
1 2 3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
function getFileInfo($ファイル名){
if(!file_exists($ファイル名)){
echo 'ファイル'.($ファイル名).'存在しません';
if( is_file($
ファイル名)
){
echo $ファイル名.' はファイルです';
}
if(is_dir($ファイル名)){
echo $ファイル名.' はディレクトリ'です;
if
(is_executable
($ファイル名)){ echo $
filename.' は実行可能ファイル '; 🎜>}else{
echo $ファイル名
.'実行可能ファイルではありません'; }
if(is_readable
($
ファイル名) ){ echo $ファイル名.' は読み取り可能です'
; }else{
echo $ファイル名.' は読み取れません';
}
if (is_writable($ファイル名)){
echo $ファイル名.' は書き込み可能です' ;
}else{
echo $ファイル名.' は書き込み可能ではありません';
🎜> エコー
🎜 >''.
$ファイル名.' のサイズは ' >.getFileSize(ファイルサイズ($ファイル名)).''; echo 'File'.
$filename.' のタイプは '.filetype($ファイル名).''; エコー のオーナー'ファイル'.
$ファイル名.' は '.ファイル所有者($ファイル名).'';
echo 「ファイル」.$ファイル名.」の最終アクセス時刻は「」です。 getTime(fileatime($ファイル名)).'';
echo 'ファイル'.$ファイル名.' i ノードは '.fileinode($ファイル名).'';
echo 'file'.$filename.' の変更時刻は '.getTime (ファイル時間($ファイル名)).'';
echo '「ファイル」のアクセス許可.$ファイル名.' '.fileperms($ファイル名).'';
}
function getTime($時間){
return 日付('Y-m-d H:i:s',$時間);
}
function getFileSize($size){
$dw = 'B' ;
if($size) >=pow(2,40)){
$サイズ =ラウンド($サイズ/パウ(2,40),2);
$dw = 'PB ';
}else if($サイズ>=pow(2,30)){
$サイズ=ラウンド($サイズ/パウ(2,30),2);
$dw = 'TB';
}else if($size>>=pow( 2,20)){
$サイズ=円形 ($サイズ/パウ(2,20),2);
$dw = 'GB';
}else if($サイズ>=pow(2,10)){
$サイズ=ラウンド($サイズ/パウ(2,10),2);
$ dw = 'MB';
}
return $size.$dw ;
}
getFileInfo('1.php');
|
実行結果
1.php はファイルです
1.php は実行可能ファイルではありません
1.php は読み取り可能です
1.php は書き込み可能ではありません
ファイル 1.php のサイズは 2MB です
ファイル 1.php のタイプはファイルです
ファイル 1.php の所有者は 1000 です
ファイル 1. php の最終アクセス時刻は 2015-03-04 12:58:33
ファイル 1.php の i ノードは 536185
ファイル 1.php の変更時刻は 2015-03-04 12:58:32
ファイル 1.php のパーミッションは 33204 です
3. ファイルパス関連機能
相対パス: の上位ディレクトリと下位ディレクトリからの相対パス現在のディレクトリ
。 現在のディレクトリ
.. 前のディレクトリ
パス区切り文字
linux /Unix “/”
windows “”
オペレーティング システムが何であっても、PHP のディレクトリ分割シンボルは / (Linux)
絶対パス: をサポートします。システムのルートは、サーバー内で実行される (PHP ファイル処理
3 つの関連関数を参照することもできます。 🎜> 関数)、「root」が参照するパスはオペレーティング システムのルートですプログラムがダウンロードされたクライアントの場合、
サーバー内のファイルにアクセスするときは、Apache 経由でのみアクセスできます。 「root」はドキュメントのルート ディレクトリも指します
basename — パス内のたとえば、次の例はファイル名部分を返します
dirname — パス内のディレクトリを返します。 部分 pathinfo — ファイルのパス情報を返します。
1 2
3
4
5
6
7
8
|
$url1="./aaa /bbb/index.php"; $url2= "../www/yyy/login.rar";
$ url3="c:/appserv/www/demo.html";
$url4="http://localhost/yyy/www.gif" ;
echo ベース名($ url1);
echo ベース名($url2);
echo ベース名($url3);
echo ベース名($url4);
|
実行結果
index.php
login.rar
demo.html
www.gif
basename 関数が最後の項目であるファイルの名前を返すことがわかります。
dirname の使用法を見てみましょう
1
2
3
4
5
6
7
8
|
$url1="。 /aaa /bbb/index.php"; $url2="../www/yyy/login.rar"; $url3="c:/appserv /www /demo.html"; $url4="http://localhost/yyy/www.gif"; echo dirname(dirname($url1)); echo ディレクトリ名 ($url2); echo ディレクトリ名($url3); echo ディレクトリ名($url4); td> |
実行結果
./aaa
../www/yyy
c:/appserv/www
http://localhost/ yyy
dirname の 関数は複数レベルのネストで使用できることがわかります。返されるのは、その関数が配置されているパス、つまり最後の項目を除くすべての項目です。アイテム。
さらに、ファイル名と拡張子
を含む上記の pathinfo の情報をすべて取得できます。たとえば、次のようになります。結果
Array ( [ディレクトリ名] => ../www/yyy [ベース名] => login.rar [拡張子] => rar [ファイル名] => ログイン )
4. ファイルの作成、削除、変更
タッチ — ファイルを作成します
リンク解除 — ファイルを削除します
名前変更 — ファイルの名前を変更しますファイルまたはディレクトリ
copy — ファイルをコピーします
たとえば、次の例は
1 2
3
4
5
|
touch("./php.apahce"); //创建文件
unlink("C:/AppServ/www/xsphp/apache.php"); //删除文件
rename("./test.txt", "d:/test2.txt"); //重命名文件
copy("cache.txt", "./cache5.txt"); //复制文件
chmod("a.txt",755); //设置文件权限
|
権限関連コンテンツ
例:rwx は、このファイルの所有者を示します。 r 読み取り w 書き込み x 実行します。
rwx は、このファイルの所有者のグループを示します。 r 読み取り w x を書き込み、
rwx を実行します。 他のユーザーはこのファイルに対する権限を持っています。 r 読み取り w 書き込み > ファイル名を入力して、ファイル内のテキスト情報を直接取得します。 返される内容は、ファイル内のテキストです。
1 2
3
4
|
$str = file_get_contents ( "1.txt"); echo $str;
?>
|
1 2
3
|
echo file_put_contents("2.txt",'abcd'); ?>
|
1 2
3
|
echo file_put_contents("2.txt",'abcd'); ?>
|
1
2
34
5
|
$str = ファイル("1.txt"); var_dump ( $str);
エコー カウント($ str );
?>
|
は行の内容を配列形式で取得し、行数を出力できます。
欠点: 指定された部分の内容を読み取ることができません。
4.fopen(filename,mode)
filename は ファイル名で、パスと名前、またはリモート サーバー ファイルを指定できます。
モードは、ファイル
r はファイルヘッダーから始まる読み取りおよび書き込み属性を持ちます。書き込み、元のファイルに上書きされていない内容を保持します。r を読み取り専用モードで開く方法です。書くこともできる。
をテキスト モードで開きます。 注:
w、書き込み専用モードで開きます。ファイルが存在しない場合は、ファイルを作成してコンテンツを書き込みます。ファイルが存在し、元々コンテンツがある場合は、元のファイルのすべてのコンテンツがクリアされてから書き込まれます。 open 既存の重要なファイル)
w、fwrite で書き込むことに加えて、書き込み専用モードで開かれる fread
a を読み取ることもできます。ファイルが存在しない場合は、ファイルを作成して内容を書き込みます。ファイルが存在し、元のコンテンツが存在する場合、元のファイルの内容は消去されず、fwrite での書き込みに加えて、新しい内容が元のファイルの内容の最後に書き込まれます (追加)。 fread
b. ファイル (写真、ムービー) を
バイナリ モードで開き、ファイル
w は読み取りおよび書き込み属性を持ちます。書き込み時にファイルが存在する場合、ファイルはクリアされて書き込みされます。ゼロから。
はファイル リソースを返します
5.fwrite(file,content)
ファイル書き込み関数、file はファイル リソース、fopen を使用します
によって取得機能、コンテンツは書かれた内容です。 fputs 関数と同じです。例:
1 2 3
4
5
6
7
8
9
|
php $file = fopen("1.txt","r ");
$result = fwrite($file,"xx");
if($result){
echo "成功";
}else
エコー "失敗";
}
?>
|
は、リソースを最初から書き込みます。 2 つの文字が xx
6 に設定されます。 fread(file,size)
は、ファイルの指定された部分の長さを読み取ります。 file は、fopen によって返されるオブジェクトです。 size は読み取る文字数です。
例:
1
3
4
5
$file = fopen("1.txt","r");
$content = fread ($file,ファイルサイズ("1.txt")); echo $content; ?> ただし、上記のファイルサイズメソッドはローカルファイルサイズしか取得できず、リモートファイルを読み取るには別のメソッドが必要です。 例:
1
2
3
5
6
7
8
|
$file = fopen("http://www.qq.com","r");
| |

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。
