亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

共通ファイル関數(shù)の定數(shù)

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

形式を見(jiàn)てみましょう:


QQ截圖20161009110829.png


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

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

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

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

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

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

rewind (リソースハンドル)

機(jī)能: ポインタが先頭に戻ります

fseek (resource handle, int offset [, int from_where])
関數(shù): ファイルポインタを指定された文字だけ後方に移動(dòng)します

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

3. 次回開(kāi)きます この時(shí)はCの緑矢印から読み始めることができます。 QQ截圖20161009110843.png

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

abcdeefghijklk

opqrst

uvwxyz

12345678

実験を開(kāi)始できます。

<?php
$fp = fopen('output.txt', 'r+');
//讀取10個(gè)字符
echo fread($fp,10);
 
//指針設(shè)置回到開(kāi)始處
rewind($handle);
//再讀取10次看看輸出的是什么
echo fread($fp,10);
 
//文件指針向后移動(dòng)10個(gè)字符
echo fseek($fp,10);
 
//再看看文件中輸出的是什么
echo fread($fp,10);
 
fclose($handle);
?>

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

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

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

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

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

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

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


上記のすべての関數(shù)を使用する例を使用します。

demo.txt ファイルにファイルのバッチを書(shū)き込みます:

abcdeefghijklk
opqrst
uvwxyz
12345678

<?php
 
//以增加的r模式打開(kāi)
$fp = fopen('demo.txt','r+');
 
//你分發(fā)現(xiàn)每次只讀一個(gè)字符
echo  fgetc($fp);
 
//我要全部讀取可以,讀取一次將結(jié)果賦值一次給$string
while($string = fgetc($fp)){
 
    echo $string;
 
}
?>

fgets は一度に 1 行ずつ開(kāi)きます:

<?php
 
//以增加的r模式打開(kāi)
$fp = fopen('demo.txt','r+');
 
//你分發(fā)現(xiàn)每次只讀一個(gè)字符
echo  fgets($fp);
echo  fgets($fp);
echo  fgets($fp);
echo  fgets($fp);
 
?>

上記のコードでは、1 行が読み取りごとに一度に開(kāi)かれます。最終的な読み取りの戻り値は false です。

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

<?php
 
//打開(kāi)我們上面的demo.txt文件
$file = fopen("demo.txt", "a+");
 
//你可以數(shù)數(shù)20個(gè)字有多長(zhǎng),看看是不是達(dá)到效果了
echo ftruncate($file,20);
fclose($file);
?>

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

QQ截圖20161009111024.png

りー


學(xué)び続ける
||
<?php $filename = 'demo.txt'; if (file_exists($filename)) { echo "$filename文件的上次訪問(wèn)時(shí)間是: " . date("Y-m-d H:i:s", fileatime($filename)); echo "$filename文件的創(chuàng)建時(shí)間是: " . date("Y-m-d H:i:s", filectime($filename)); echo "$filename文件的修改時(shí)間是: " . date("Y-m-d H:i:s", filemtime($filename)); } ?>
提出するリセットコード