国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php ファイル內(nèi)の一般的な関數(shù)と定數(shù)

ファイル操作の定數(shù)

次の定數(shù)は最も一般的に使用されます。ファイルディレクトリの區(qū)切り文字である定數(shù)です。

フォーマットを見てみましょう:

Windowsのパス形式はd:xxxxxx 注:Windowsはd:/xxx/xxxをサポートします
Linuxのパス形式は/home/xxx/xxx 注:Linuxでhomexxxxxxが間違っている場合
そこでエスケープなどを有効にするとエスケープ文字を併用した場合は、d:xxxxxx となります。判斷する場合、2 つある場合は 1 つに変換し、/ を置き換えてパスを分割すると、Linux または Windows 上のパスが統(tǒng)一されたままになります。

定數(shù)を使用します:
DIRECTORY_SEPARATOR

現(xiàn)在のファイルのパスを定義する小さな例を書いてみましょう:

FILEはPHPの事前定義された定數(shù)であるため、それを変更する方法はありません必要に応じて、FILE もオペレーティング システムに適応させます。
その場合はFILEを使わず、カスタム定數(shù)を使用してFILEを次のように処理することができます:

<?php
$_current_file = str_replace(array('/', '\'), DIRECTORY_SEPARATOR, __FILE__);
define('__CUR_FILE__', $_current_file);

echo __CUR_FILE__;

?>

ファイルポインタ操作関數(shù)

rewind(リソースハンドル)

関數(shù): ポインタが戻ります最初へ

fseek (リソースハンドル, int offset [, int from_where])
関數(shù): ファイルポインタを指定文字分後方に移動します

前回の読み込みで、fread が指定された長さのデータを読み込むことが分かりました。指定した長さの內(nèi)容を次回読むときは元の位置から読み戻します。

document_2015-09-08_55eecf3c2a7e0.png

上の図に示すように、次のことが想像できます:

1. ファイルが最初に開かれたときに、赤いアイコンが読み取られます

2. ファイルの疑似カラーが A から C まで読み取られます

3. 次回開いたとき このとき、Cの緑矢印から読み始めることができます。

demo.txt ファイルに一連のファイルを書き込みます:

abcdeefghijklk
opqrst
uvwxyz
12345678

実験を開始できます。

<?php
$fp = fopen('demo2.txt', 'r+');
//讀取10個字符
echo fread($fp,10);

//指針設置回到開始處
rewind($fp);
//再讀取10次看看輸出的是什么
echo '<br>';
echo fread($fp,10);
echo '<br>';
//文件指針向后移動10個字符
echo fseek($fp,10);
echo '<br>';
//再看看文件中輸出的是什么
echo fread($fp,10);
echo '<br>';
fclose($fp);
?>

上記の例では、fseek は指定された長さだけバイトを移動することがわかります。そして巻き戻しは毎回ファイルの先頭に戻ります。

それではどうやって最後まで進むか?バイト數(shù)を數(shù)えることができます。 fseek 中に直接後ろに移動します。

次に、ファイルサイズ統(tǒng)計バイトについて話しましょう。

filesizeはファイルのサイズを検出します

<?php


$filename = 'demo.txt';
echo $filename . '文件大小為: ' . filesize($filename) . ' bytes';

?>

ファイルを操作するためのその他の関數(shù)

実際には、ファイルを操作したり、ファイルを読み込んだりするための関數(shù)が他にもいくつかあります

fileファイル全體を配列に読み込みますfgets ファイルポインタから行を読み込み、末尾を読み取ってfalseを返します fgetcは、ファイルポインタから文字を読み取り、最後まで読んだ後にfalseを返しますftruncateは、ファイルを指定された長さに切り詰めます
関數(shù)名Function
上記のすべての関數(shù)を使用する例を使用します。

demo.txt ファイルに一連のファイルを書き込みます:

abcdeefghijklkopqrst
uvwxyz
12345678

<?php

//以增加的r模式打開
$fp = fopen('demo.txt','r+');

//你分發(fā)現(xiàn)每次只讀一個字符
echo  fgetc($fp);

//我要全部讀取可以,讀取一次將結果賦值一次給$string
while($string = fgetc($fp)){

   echo $string;

}
?>

fgets は一度に 1 行ずつ開きます:

<?php

//以增加的r模式打開
$fp = fopen('demo.txt','r+');

//你分發(fā)現(xiàn)每次只讀一個字符
echo  fgets($fp);
echo  fgets($fp);
echo  fgets($fp);
echo  fgets($fp);

?>

上記のコードは、次のようになっていることがわかります。毎回 1 回 行を開きます。最終的な読み取りの戻り値は false です。

次にファイルインターセプト関數(shù)を見てみましょう:

<?php

//打開我們上面的demo.txt文件
$file = fopen("demo.txt", "a+");

//你可以數(shù)數(shù)20個字有多長,看看是不是達到效果了
echo ftruncate($file,20);
fclose($file);
?>

上の例では、コンテンツがインターセプトされている限り表示できることがわかりました。

ファイル時間関數(shù)

関數(shù)関數(shù)の説明filectimeファイル作成時間filemtimeファイル変更時刻fileatimefile Last訪問時間りー


學び続ける
||
<?php $filename = 'demo.txt'; if (file_exists($filename)) { echo '$filename文件的上次訪問時間是:' . date("Y-m-d H:i:s", fileatime($filename)); echo '$filename文件的創(chuàng)建時間是: ' . date("Y-m-d H:i:s", filectime($filename)); echo '$filename文件的修改時間是: ' . date("Y-m-d H:i:s", filemtime($filename)); } ?>