ftruncate
<?php
/*
ftruncate
ファイルのサイズを変更して切り捨てます。
戻り値(bool) = ftruncate(ファイルのハンドル, サイズ);
true :[成功]
false:[失敗]
*/
$path = \"sample.txt\";
$no=1;//行数
print \"使用するファイルの内容 ---------------------<br />\";
$fp = fopen($path, \"r\");
//「!」を使い終端でない場合はwhileで処理を続けています。
while(!feof($fp))
{
print $no.\"行目 \".fgets($fp).\"<br />\";
$no++;
}
print \"ftruncateを使た結果 ----------------------------<br />\";
//ファイルサイズを空にしようと試みますが、
//「r」のため失敗します。
if ( ftruncate($fp, 0) === false)
{
//失敗したケース
print \"ファイルのサイズ変更に失敗しました。<br />\";
}
else
{
//成功したケース
print \"ファイルのサイズ変更に成功しました。<br />\";
}
fclose($fp);
$fp = fopen($path, \"r+\");
//「!」を使い終端でない場合はwhileで処理を続けています。
if ( ftruncate($fp, 0) === false)
{
//失敗したケース
print \"ファイルのサイズ変更に失敗しました。<br />\";
}
else
{
//成功したケース
print \"ファイルのサイズ変更に成功しました。<br />\";
}
//ポインタをファイルの先頭に戻します。
rewind($fp);
print \"読み込み結果: \".fgets($fp).\"<br />\";
fclose($fp);
/*
[出力結果]
使用するファイルの内容 ---------------------
1行目 むかしむかし
2行目 おじいさんとおばあさんがいました。
3行目 おじいさんは山にしばかりに
4行目 おばあさんは
5行目 川に洗濯にいきました。
ftruncateを使た結果 ----------------------------
ファイルのサイズ変更に失敗しました。
ファイルのサイズ変更に成功しました。
読み込み結果:
*/
?>
|
|