blueidea.com より転載
1. はじめに
どのようなコンピューター機器においても、ファイルは必要なオブジェクトであり、Web プログラミングでは、ファイル操作は Web プログラマーにとって常に頭の痛い問題であり、ファイル操作は CMS で行われます。これは必要であり、非常に便利です。ファイル ディレクトリの生成やファイル (フォルダー) の編集などの操作をよく目にします。ここでは、PHP でのこれらの関数の詳細な概要を作成し、対応する関数についての詳細な紹介を参照してください。 PHPのマニュアルに記載の要点と注意点のみをまとめます。 (PHPのマニュアルには載っていません)
2. ディレクトリの操作
最初に紹介するのは、ディレクトリから読み取る関数です。 ( )、readdir()、closedir() を使用する場合は、最初にファイル ハンドルを開いてから、それを繰り返しリストします。
echo $base_dir."
;
while($flist=readdir($fso)){
echo $flist."
" ;
? >
これは、ファイル ディレクトリ内のファイルとディレクトリを返すプログラムです (ファイルが 0 の場合は false を返します)
ディレクトリ情報を知る必要がある場合は、dirname($path) と basename($path) を使用できます。 ) ディレクトリ部分とファイル名部分については、disk_free_space($path) を使用して空き領域を返すことができます:
mkdir($path,0777)
,0777 は許可コードです。これは、非 window の umask() 関数によって設定できます。
rmdir($path)
$path 内のパスを持つファイルを削除します。
dir -- ディレクトリ クラスは、ファイル ディレクトリを操作するための重要なクラスでもあります。これは、read、rewind、close の 3 つのメソッドがあり、最初にファイル ハンドルを使用して開き、次にポインタを使用してファイルを読み取ります。 php
$d = dir("/etc/php5");
echo "ハンドル: " . $d->handle . "n"; ;
while (false !== ($entry = $d->read()) {
echo $entry."n";
$d->close()> :
ハンドル: リソース ID #2
パス: /etc/php5
.
..
apache
cgi
cli
ファイルの属性には、作成時刻、最終変更時刻、所有者、ファイル グループも非常に重要です。 、タイプ、サイズなど。
以下ではファイル操作に焦点を当てましょう
3. ファイルを読み取る
まず、ファイルが読み取れるかどうか (権限の問題)、または is_readable 関数を使用して存在できるかどうかを確認します。情報を取得します。:
$file = 'dirlist.php';
if (is_readable($file ) == false) {
die('ファイルが存在しないか、読み取ることができません'); } else {
echo 'Exists';
}
?>
ファイルの存在を確認する関数には file_exists も含まれています (以下に示します)。ただし、これは明らかに is_readable ほど包括的ではありません。 use
$file = "filelist.php";
if (file_exists($file) == false) {
die('ファイルが存在しません
すべて読む:
$fso = fopen($cacheFile , 'r');
$data = fread($fso, filesize($cacheFile));
バイナリ ファイルを読み取る別の方法もあります:
$data = implode('', file( $file));
ファイルの書き込み
ファイルの読み取りと同じように、まず書き込み可能かどうかを確認します:
$file = ' dirlist.php'
if (is_writable($file) == false ) {
die("私は鶏の羽です、私はできません");
}
?> 書けるなら、file_put_contents 関数を使って次のように書くことができます:
$file = ' dirlist.php';
if (is_writable($file) == false) {
die('私は鶏の羽です、私はできません')
}
$data = '私は卑劣です、私は欲しいです';
file_put_contents ($file, $data);
?>
file_put_contents 関数は php5 で新しく導入された関数です (存在するかどうかわからない場合は、最初に function_exists 関数を使用して確認してください)。
$f = fopen($file, 'w');
fclose($f);
必要に応じて、次のメソッドを使用することもできます。ファイルの書き込み時にロックしてから次のように書き込みます:
functioncache_page($pageurl,$pagedata){
if(!$fso=fopen($pageurl,'w')){
$this->warns('Cannotキャッシュ ファイルを開きます。');//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
false を返す
}
flock($fso,LOCK_UN);//ロックを解除する
fclose($fso);
return true;
ファイルのコピーと削除
php でファイルを削除するのは非常に簡単で、操作は unlink 関数を使用するだけです。 :
$file = 'dirlist.php';
$result = @unlink ($file);
echo '蚊は追い払われました'; {
echo '追い払われません' ;
?>
ファイルのコピーも簡単です:
$file = 'ji .txt'; # このファイルの親フォルダーは書き込み可能である必要があります
if (file_exists($file) == false) {
die ('サンプルはオンラインではないためコピーできません')
}
$result = copy($file, $newfile);
if ($result == false) {
echo 'Copy Memory ok';
?>
rename() 関数を使用してフォルダーの名前を変更できます。これらの関数を組み合わせることで実現できます。
ファイル属性を取得します。
いくつかの一般的な関数について説明します。
$file = 'test.txt'
echo date('r'; , filemtime($file));
?>
Return UNIX タイムスタンプと言えば、これは、ファイルのアクセス許可、所有者、ファイルの最終アクセス時刻の取得にもよく使用されます。 i ノード内のすべてのグループまたはその他のメタデータは更新時間であり、fileowner() 関数はファイル所有者を返します
$owner = posix_getpwuid(fileowner($file));
(非ウィンドウ システム)、ileperms() はファイルのアクセス許可を取得します。
$file = 'dirlist .php';
$perms = substr(sprintf('%o', fileperms($file)), -4); () はファイル サイズをバイト単位で返します。
// 出力は次のようになります: somefile.txt: 1024 バイト
$filename = 'somefile.txt';
echo $filename($filename . ) . ' bytes';
?>
ファイルのすべての情報を取得するには、
$file = 'dirlist.php'; という関数があります。 = stat($file);
var_dump($perms);
ここでは展開されない詳細情報を確認できます。
いくつかのファイル操作を簡単にまとめました。上記の機能に習熟していれば、すでに大きな問題はありません。PHP ファイル操作の機能は、PHP を学習する上で非常に重要な部分でもあります。無視しないでいただきたいと思います。
上記では、favoritevideo がどのようなファイルとディレクトリであるかを紹介し、favoritevideo がどのようなファイルであるかを含むファイル操作 - PHP について詳しく説明しました。PHP チュートリアルに興味のある友人に役立つことを願っています。