PHP でのファイルの読み取り、書き込み、削除操作 (PHP でのファイルとディレクトリの操作)_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:20:28
オリジナル
1009 人が閲覧しました

1: ディレクトリ操作
最初の紹介は、ディレクトリから読み取る関数、opendir()、readdir()、closedir() を使用すると、最初にファイルハンドルが開かれ、次に反復的にリストされます。コードをコピーします

コードは次のとおりです: $base_dir = "filelist/";
echo $base_dir."
flist; =readdir($fso)){
echo $flist."
;
closedir($fso)
?> これはファイルディレクトリ配下のファイルとディレクトリを返すことです。プログラム (0 個のファイルは false を返します)
ディレクトリ情報を知る必要がある場合は、それぞれパスのディレクトリ部分とファイル名部分を返す dirname($path) と Basename($path) を使用できます。 use disc_free_space($path) 空き領域を確認するために戻ります

作成コマンド:

mkdir($path,0777)
,0777 は、非ウィンドウ条件下で umask() 関数によって設定できます。 .
rmdir($path)
$ path fileのパスを削除します
dir -- directoryクラスもread、rewind、closeの3つのメソッドを持っています。 -オブジェクト指向のクラス。最初にファイルハンドルを使用してファイルを開き、次にポインターを使用します。読み取り方法は、こちらの php マニュアルを参照してください:


コードをコピーします
コードは次のとおりです。
$d = dir("/etc/php5");
echo "ハンドル: " . $d->handle . "n"; . "n";
while (false !== ($entry = $d->read())

..
apache cgi cli ファイルの属性には作成も含まれます時刻、最終変更時刻、所有者、ファイルグループ、タイプ、サイズなど 今度はファイル操作に焦点を当てます
2: ファイル操作

ファイルの読み取り
最初のステップは、ファイルが読み取れるかどうかを確認することです。 (権限の問題)、または is_readable 関数を使用して情報を取得できます。 = false) {
die('ファイルが存在しないか、読み取れません');
} else {
echo 'exists';
?>


判定ファイル 既存の関数には file_exists も含まれています。 ) ですが、これは明らかに is_readable ほど包括的ではありません。ファイルが存在する場合、



を使用してコードをコピーできます。 コードは次のとおりです。


$file = "filelist . php";
if (file_exists($file) == false) {
die('ファイルが存在しません');
} $data = file_get_contents($file); echo htmlentities($data);
?> ;


ただし、file_get_contents 関数は、以前のバージョンではサポートされていません。まずファイルへのハンドルを作成してから、ポインターを使用してすべてを読み取ることができます:



コードをコピーします

コードは次のとおりです。

$fso = fopen($cacheFile, 'r');
$data = fread($fso, filesize($cacheFile));

バイナリファイルを読み取る別の方法もあります。 $data = implode ('', file($file)); PHP でファイルとディレクトリを操作する方法を詳しく学びましょう
1: はじめに

どのコンピュータデバイスにおいても、ファイルは必要なオブジェクトであり、 web プログラミングにおいて、ファイル操作は常に Web プログラマーにとって頭の痛い問題ですが、cms システムではファイル ディレクトリの生成やファイル (フォルダー) の編集などの操作が頻繁に発生します。 php でのこれらの関数の詳細な概要と、その使用方法を例とともに示します。対応する関数の詳細については、php マニュアルを参照してください。ここでは、重要な点と注意が必要な領域のみをまとめています。

II: ディレクトリ操作

最初の紹介は、ディレクトリから読み取る関数、opendir()、readdir()、closedir() です。使用すると、最初にファイル ハンドルが開かれます。


コードをコピーします

コードは次のとおりです:
$base_dir = "filelist/" $fso = opendir($base_dir);
echo $base_dir。 "
;
while($flist=readdir($fso)){
echo $flist." ;
closedir($fso)


これは、ファイル ディレクトリ内のファイルとディレクトリを返すプログラムです (ファイルが 0 の場合は false を返します)
ディレクトリ情報を知る必要がある場合は、dirname($path) と Basename($path) を使用して、パスのディレクトリ部分とファイル名部分をそれぞれ指定すると、disk_free_space($path) を使用して空き領域を返すことができます:
mkdir($path,0777)、0777 は許可コードです。
rmdir($path) は、$path 内のパスを持つファイルを削除します。ディレクトリ クラスも、ファイル ディレクトリを操作するための重要なクラスです。 、読み取り、巻き戻し、および閉じる。これは疑似オブジェクト指向のクラスです。最初に行うことは、ファイル ハンドルを開き、ポインターを使用してそれを読み取ることです。



Copyコード
コードは次のとおりです: $d = dir("/etc /php5");
echo "Handle: " . $d->handle . echo "パス: " . $d->path . "n";
$d->close();
?>


出力:
ハンドル: リソースID #2
パス: /etc/php5
..
apache
cgi cli
ファイル属性には、作成時刻、最終変更時刻、所有者、ファイル グループ、タイプ、サイズなどが含まれます。
次のことに焦点を当てましょう。 ファイル操作について説明します

3: ファイル操作

ファイルの読み取り
まず。ファイルが読み取れるかどうか (権限の問題)、またはファイルが存在するかどうかを確認します。 is_readable 関数を使用して情報を取得できます。:



コードをコピー コードは次のとおりです:


$file = 'dirlist.php'; if (is_readable($file) == false) { die('ファイルが存在しないか、読み取ることができません') } else { echo '存在します';
}
?>


ファイルの存在を確認する関数には file_exists も含まれていますが (以下に示します)、これは明らかに is_readable ほど包括的ではありません。ファイルが存在する場合、



を使用してコピーできます。コード

コードは次のとおりです:

$file = "filelist.php"; if (file_exists($file) == false) { die('ファイルが存在しません') ; } $data = file_get_contents($file);
echo htmlentities($data);


ただし、ファイルへのハンドルを作成することはできません。次に、ポインタを使用してすべてを読み取ります。
$ fso = fopen($cacheFile, 'r');
$data = fread($fso, filesize($fso));
別の方法もあります。バイナリ ファイルを読み取るには:
$ data = implode('', file($file));

ファイルの書き込み
は、ファイルの読み取りと同じです。まず、書き込み可能かどうかを確認します:



コード

コードは次のとおりです:

$file = 'dirlist.php';
if (is_writable($file) == false) {
die("私はチキンです、私はできます't"); } ?> can 記述できたら、file_put_contents 関数を使用して次のように記述できます:



コードをコピーします

コードは次のとおりです:

< ?php
$file = 'dirlist.php';
if (is_writable($file) == false) {
die('私は鶏の羽です、私はできません'); $data = '私は卑劣です、私は欲しいです'; file_put_contents ($file, $data);
file_put_contents 関数 in php5 (存在するかどうかわからない場合は、function_exists 関数を使用してください)以下のメソッドは使用できません:
$f = fopen($f, $data);
それを置き換えます。
ファイルを書き込むときにロックする必要がある場合は、次のように書きます。



コードをコピーします

コードは次のとおりです。 $fso=fopen($pageurl,'w')){
$this->warns('キャッシュされたファイルを開けません。');//trigger_error
return false
}
if(! flock($fso, LOCK_EX)){//LOCK_NB、排他ロック
$this->warns('キャッシュ ファイルをロックできません。');//trigger_error
return false
}
if(!fwrite($ fso,$pagedata)) {//バイト ストリームを書き込み、シリアル化して他の形式を書き込みます
$this->warns('キャッシュ ファイルを書き込めません。');//trigger_error
return false } flock( $fso,LOCK_UN);//Release lock fclose($fso); return true
}


ファイルのコピーと削除
PHP でファイルを削除するのは非常に簡単で、操作は unlink 関数を使用するだけです:



コードをコピーします

は次のとおりです:

$file = 'dirlist.php';
$result = @unlink ($file);
if ($result == false) {
echo '蚊を追い払う'
} '削除できません';
}
?>

ファイルのコピーも簡単です:


コードは次のとおりです: $file = ' yang.txt';
$newfile = 'ji.txt'; # このファイルの親フォルダーは書き込み可能である必要があります
if (file_exists($file) == false) {
die ('サンプルはオンラインのためコピーできません');
$result = copy($file, $newfile);
echo 'メモリをコピーします'
?> rename() 関数を使用してフォルダーの名前を変更できます。その他の操作は、次の関数を組み合わせて実行できます。
ファイル属性を取得する
いくつかの一般的な関数について説明します。
最新の変更時刻を取得する:



コード
コードは次のとおりです:


$file = 'test.txt';
echo date('r', filemtime($file))> unix タイムスタンプ。一般的に使用されるのは、ファイルのアクセス許可、所有者、すべてのグループ、または i ノード内のその他のメタデータが更新されたときに、fileatime() と filectime() です。 ) 関数はファイルの所有者を返します。 $owner = posix_getpwuid(fileowner($file)); (非ウィンドウ システム)、ileperms() はファイルの権限を取得します。
コードをコピーします
コードは次のとおりです。 :


$file = 'dirlist .php';
$perms = substr(sprintf('%o', fileperms($file)),
echo $perms?> ;


filesize() はファイル サイズをバイト単位で返します:
コードをコピー コードは次のとおりです:

// 出力は次のようになります: somefile.txt: 1024 バイト
$filename = 'somefile.txt';
echo $filename . ': ' ' bytes';

ファイルのすべての情報を取得するには、 stat( ) 配列を返す関数:

コードをコピーします。 コードは次のとおりです: $file = 'dirlist.php';
$perms = stat($file); var_dump($perms);
?>



4: 結論
キーが何に対応しているのかの詳細はここで確認できます。上記の機能に習熟していれば、操作中に大きな問題は発生しません。PHP ファイル操作の機能は比較的すぐに変化します。ファイルのこの部分は、PHP を学習する上で非常に重要な部分でもあります。無視しないでほしいと思います。

http://www.bkjia.com/PHPjc/325071.htmlwww.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/325071.html

技術記事

1: ディレクトリ操作では、まずディレクトリから読み取る関数、opendir()、readdir()、closedir() が導入されます。使用すると、最初にファイル ハンドルが開かれ、次に反復的にリストされます。 コードをコピーします。コードは次のとおりです。 ..



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!