PHP でのファイル操作とディレクトリ操作
file_get_counts
file_get_contents($filename) // ファイルの内容またはネットワーク リソースの内容を取得します。
ファイルとネットワーク リソースを読み取るための比較的高速な関数で、カプセル化に役立ちます。開く/閉じるなどの操作。
欠点: この関数はすべての内容を一度に読み取ってメモリに保存するため、数百メガバイトの大きなファイルを扱う場合は、この関数を使用する場合は注意してください。読み取るファイルが存在する必要があります。存在しない場合は、警告が発行されます
<?php $fileFile = './a.txt'; $fileCoutent = file_get_contents($fileFile); echo $fileCoutent; echo file_get_contents('http://www.linxingzhang.com'); ?>
file_put_counents
file_put_contents($filename, $data); この関数は、コンテンツをファイルに書き込むために使用され、開く詳細をカプセル化するのに役立つショートカット関数です。書き込み
<?php file_put_contents('./b.txt', '嘻嘻哈哈'); ?>
データ型を決定する
isset(); 変数が空であるかどうか
define(); 定数が定義されているかどうかdefine();
array_key_exists(mixed) key, array serach); 指定されたキーの名前またはインデックスが配列内に存在するかどうかを確認します
is_bool();
is_float(); 変数が float 型であるかどうかを確認します。 is_double()、is_real()
is_int(); 変数が整数であるかどうかを検出します
is_string();変数が文字列かどうかを検出します
is_object(); 変数がオブジェクトであるかどうかを検出します
is_array(); 変数が配列であるかどうかを検出します
fopen&fread&fwrite&fclose
fopen($)ファイル名、$mode)
パラメータ 1: パスパラメータ 2: モードなど: 読み取り専用 モードなど: 読み取り/書き込みモードなど: 追加モード
ファイルを開き、ハンドル リソースを返します
戻り値:リソース。 (チャネルの機能はチャネルに沿ってファイルを操作することです。このファイルを変更するには資格を取得してください)
fread($handle, $length)
パラメータ1: リソースIDパラメータ2: 読み取り長
戻り値: all 文字列の読み取り
ファイルの読み取り
fwrite($handle, $string);
パラメータ2: 内容
戻り値: 成功した文字列番号、失敗した場合はfalseを返す
ファイルの書き込み
fclose ($handle);リソースを閉じる
<?php $file = './a.txt'; // 返回获取资格的标识 $fh = fopen($file, 'r'); // 沿着上面返回的$fn资源通道来读文件 echo fread($fh, 10); $rs = fwrite($fh, 'xixihaha'); echo $rs; // 0 // 只读,不允许写入 fclose($fh); ?>
<?php $file = './a.txt'; // r+ 读写模式, 并把指针指向文件头 // 覆盖相等字节的字符串 $fh = fopen($file, 'r+'); $rs = fwrite($fh, 'hahahaha'); echo $rs; echo '<hr />'; // w 写入模式(fread读取不了), 并把文件大小截为0(文件被清空了),指针停于开头处 $file = './modew.txt'; $fh = fopen($file, 'w'); fclose($fh); echo 'ok'; // a 追加模式 能写,并把指针停止在文件的最后. $fh = fopen('./modea.txt', 'a'); echo fwrite($fh, '嘻嘻哈哈'); fclose($fh); ?>
file
バッチ処理リスト
1つ目のメソッド:
<?php $file = './custom.txt'; $cont = file_get_contents($file); print_r( explode("\n", $cont) ); /** * 各个操作系统下,换行符并不一致 * win: \r\n * *nix: \n * mac: \r */ ?>
2つ目のメソッド:
<?php // 第二种 // 打开,一点点的读取,每次读取一行. // fgets(); 每次读取一行 $file = './custom.txt'; // $mode 可以加`b`,表示以2进制来处理,不受编码的干扰. $fh = fopen($file, 'rb'); // feof(), end of file 的意思 // 判断指针是否已经到结尾 while ( !feof($fh) ) { echo fgets($fh) , '<br />'; } ?>
3つ目のメソッド:
file();
file_get_contents(); と同じ: 1 回で読み込み、大きなファイルは注意してください
<?php // file(); $file = './custom.txt'; $arr = file($file); print_r($arr); ?>
file_exists
file_exists ファイルまたはディレクトリが存在するかどうかを確認します file_exists($ filename);
りー