第六章phpディレクトリとファイル操作


一.ディレクトリ操作basename--バックパスのファイル名部分dirname--バックパスのディレクトリ部分pathinfo--ファイルパスの情報realpathに戻ります。正規化された絶対パス名
 
<?php
$path = 'demo1.php';
$path = realpath($path);
echo basename($path);
echo '<br>';
echo dirname($path);
echo '<br>';
$array_path = pathinfo($path);
echo 'basename : '.$array_path['basename'].'<br>';
echo 'dirname : '.$array_path['dirname'].'<br>';
echo 'extension : '.$array_path['extension'].'<br>';
echo 'filename : '.$array_path['filename'].'<br>';
?>
Output:demo 1.php D:\appServ\bsename:demome:demo 1.phexfirne:ap 6ディレクトリとファイルカウント1.ファイルサイズとディスク空間filesizeを確認します。ファイルサイズdiskを取得します。free_space--目次の中の利用可能な空間disk_に戻ります。total_space--ディレクトリに戻るディスクの総サイズ
 
<?php
$path ='demo2.php';
$path = realpath($path);
$drive = 'c:';
echo round(filesize($path)/1024,2).'kb'.'<br/>';
echo round(disk_free_space($drive)/1024/1024/1024,2).'GB'.'<br/>';
echo round(disk_total_space($drive)/1024/1024/1024,2).'GB'.'<br/>';
?>
output 0.26 kb 10.61 GB 30.01 GB 2.ファイルを取得するための各種時間fileatme--ファイルの最終アクセス時間filectimeを取得します。ファイルを取得するinode修正時間filemtime--ファイル修正時間
 
<?php
$file = realpath ( '../Basic5/demo3.php' );
$date_format = 'Y-m-d h:i:s';
echo 'lastest accessing time : '.date ( $date_format, fileatime ( $file ) ) . '<br>';
echo 'lastest change time : '.date ( $date_format, filectime ( $file ) ) . '<br>';
echo 'lastest modify time : '.date ( $date_format, filemtime ( $file ) ) . '<br>';
?>
output lastaccessing timeを取得します。04:26:49 lastest modify time:2011-11-18:29:15ファイル処理ファイルの読み書きの2つの方法:1.phpすべてのバージョンがサポートする方法:fopen--ファイルを開くかURL fclose--開いているファイルポインタfwriteを閉じる。ファイルを書き込む(二進ファイルに安全に使用できる)表1.fopen(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および以降のバージョンによってサポートされ、ローカルファイルのみに使用できます。
 
<?php
$fp = fopen('file1.txt','w');
$outStr = "my name is anllin,\r
my age is 29.";
fwrite($fp,$outStr,strlen($outStr));
fclose($fp);
?>
output my name is anllin、my age is 29.2.php 5新規加入の方法file_put.contens--一つの文字列をファイル
 
<?php
file_put_contents('file2.txt',"my name is anllin,\r
my age is 29.");
?>
output my name is anllinに書き込み、my age is 29.ファイルの内容を読み出す方法:
関数
機能
Fgetc()
文字を読み出して、次の文字にポインタを移動します。
Fgets()
1行の文字を読み出して、1行の表示の長さを指定できます。
Fgetss()
ファイルポインタから1行を読み取り、HTMLタグをフィルタします。
フレッド()
定量的な文字を読み出す
Fpassthru()
指定された場所にファイルを出力する残りのすべてのデータ
File()
配列にファイルを読み込み、グループ化します。
Readfile()
ファイルを読み込み、出力バッファに書き込みます。
File_ゲットするcontensts()
ファイル全体を文字列に読み込む
Feof()
ファイルを読み終わったと判断する関数
File_exists()
ファイルの例ファイルfile 1.txtが存在するかどうかは以下の通りです。my name is anllin、my age is 29.fgetc--ファイルポインタから文字Demo.php
 
<?php
$fp = fopen('file1.txt','r');
echo fgetc($fp);
echo fgetc($fp);
fclose($fp);
?>
Output:my fgets--ファイルポインタから1行を読みだします。my age is 29.fgetss--ファイルポインタからHTMLタグ
 
<?php
$fp = fopen('file1.txt','r');
echo fgets($fp);
echo fgets($fp);
fclose($fp);
?>
Output my name is freadを読み込んでフィルタリングします。ファイルを読み込む(バイナリファイルに安全に使用できます。)
 
<?php
$fp = fopen('file3.txt','w');
$outStr = "my name is <b>anllin</b>";
fwrite($fp,$outStr,strlen($outStr));
fclose($fp);
$ftp = fopen('file3.txt','r');
echo fgetss($ftp);
fclose($ftp);
?>
Output myname is、my age is 29.fpassur--出力ファイルポインタにおける残りのデータ10045676 put。my age is 29.33 file--ファイル全体を一つの配列に読み込む
 
<?php
$filename = 'file1.txt';
$fp = fopen($filename,'r');
$contents = fread($fp,filesize($filename));
echo $contents;
fclose($fp);
?>
output 0:my name is anllin,1:my age is 29.readfile--一つのファイルを出力する
 
<?php
$filename = 'file1.txt';
$fp = fopen($filename,'rb');
$leftSize = fpassthru($fp);
echo $leftSize;
fclose($fp);
?>
output my name is anllin,myage is 29.33 file_。ゲットするcontens--ファイル全体を一つの文字列に読み込む(php 5.0追加)
 
<?php
$lines = file('file1.txt');
foreach ($lines as $line_num => $line)
{
echo $line_num.' : '.$line.'<br>';
}
?>
output my name is anllin,my age is 29.feof--ファイルポインタがファイルの最後の位置に来たかどうかをテストします。exists--ファイルまたはディレクトリが
 
<?php
$size = readfile('file1.txt');
echo $size;
?>
output実行ファイル読出し操作filesize-ファイルサイズ
 
<?php
$contents = file_get_contents('file1.txt');
echo $contents;
?>
output 33 unlinkを取得します。削除ファイル
 
<?php
$fp = fopen('file1.txt','r');
while(!feof($fp))
{
echo fgetc($fp);
}
fclose($fp);
?>
output 1 rewind--ファイルポインタを戻す位置ftell--ファイルポインタの読み/書き込み位置fseekを返します。
操作値
意味
LOCK_SH(以前は1)
読み書きロック。これはファイルが共有できるという意味で、他の人がこのファイルを読むことができます。
LOCK_EX(以前は2)
書き込みロック。これは相互反発です。ファイルは共有できません。
LOCK_UN(以前は3)
既存のロックを解除
LOCK_NB(以前は4)
ロックを要求する時にブロックflockが発生することを防止します。軽い問い合わせファイルは
 
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<?php
$filename = 'file1.txt';
if(file_exists($filename))
{
echo ' ';
}
else
{
echo ' ';
}
?>
out put my name is anllinをロックします。my age is 29.ディレクトリハンドル操作opendir--ディレクトリのハンドルを開けます。ディレクトリのハンドルからエントリclosedirを読みます。ディレクトリのハンドルを閉じます。php demopppppdemo5.php demo6.php demomo7.php demo8.php demoppppppdemophphphphphphphphphphphphphphphphphpdep.demomoppppppppppppdedemo8.phppppdededemomoppppppppppppppppppppppppppppdedededededededededededededemomoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppmo 3.php demo 4.php demo 5.php demo 6.php demo 7.php demo 8.php demo 9.php file 1.txt file 2.txt rename--ファイルまたはディレクトリ
 
<?php
$file_size = filesize('file1.txt');
echo $file_size;
?>
output file rename success rmdirの名前を変更します。ディレクトリ
 
<?php
$isDeleted = unlink('file3.txt');
echo $isDeleted;
?>
output delete ficcessを削除します。