ホームページ >バックエンド開発 >PHPチュートリアル >PHP 拡張機能 2 ファイル処理
PHP の高度な機能 2: ファイル処理
PHP のファイル処理も非常に重要なモジュールです。この記事の主な内容は、PHP のファイル システムの紹介です。
1. プロジェクト処理はファイル処理と切り離せない
2. ファイルはデータを長期間保存するために使用できます
3 .キャッシュの作成、サーバーでのファイル操作の実行
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 です
相対パス: の上位ディレクトリと下位ディレクトリからの相対パス現在のディレクトリ
。 現在のディレクトリ
.. 前のディレクトリ
パス区切り文字
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 [ファイル名] => ログイン )
タッチ — ファイルを作成します
リンク解除 — ファイルを削除します
名前変更 — ファイルの名前を変更しますファイルまたはディレクトリ
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.txt ファイル内のコンテンツを直接開き、ファイル内のテキスト情報を返します。 ファイルが存在しない場合は、プロンプトが表示されます: file_get_contents(2.txt): ストリームを開けませんでした: そのようなファイルまたはディレクトリはありません 同様に、ファイルをリモート ファイルにすることもできます。たとえば、パラメータを http://www.qq.com に渡すと、Tencent のホームページ コンテンツを表示できます。 デメリット: コンテンツの指定された部分を読むことができず、まとめて読むことができます。2. file_put_contents(filename,content) ファイルに書き込みます。filename は書き込まれたファイルのファイル名、content は書き込まれた内容、戻り値は文字数です。正常に書き込まれました。
は行の内容を配列形式で取得し、行数を出力できます。 欠点: 指定された部分の内容を読み取ることができません。 4.fopen(filename,mode)filename は ファイル名で、パスと名前、またはリモート サーバー ファイルを指定できます。 モードは、ファイル r はファイルヘッダーから始まる読み取りおよび書き込み属性を持ちます。書き込み、元のファイルに上書きされていない内容を保持します。
5.fwrite(file,content) ファイル書き込み関数、file はファイル リソース、fopen を使用しますによって取得機能、コンテンツは書かれた内容です。 fputs 関数と同じです。例:
は、リソースを最初から書き込みます。 2 つの文字が xx 6 に設定されます。 fread(file,size)は、ファイルの指定された部分の長さを読み取ります。 file は、fopen によって返されるオブジェクトです。 size は読み取る文字数です。 例:
声明: この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。 |