PHP でのファイルの読み取り、書き込み、削除操作 (PHP でのファイルとディレクトリの操作)
1: ディレクトリ操作
最初に紹介されるのは、ディレクトリから読み取る関数、opendir()、readdir()、closedir() です。使用すると、最初にファイル ハンドルが開かれ、次にファイル ハンドルが開かれます。反復リスト:
コードをコピー コードは次のとおりです:
$base_dir = "filelist /";
$fso = opendir($base_dir);
echo $base_dir."
" ;
while($flist=readdir($fso)){
echo $flist."< ;br/>" ;
closedir($fso)
?>
にあるファイルとディレクトリを返すプログラムです。ファイルディレクトリ (0 個のファイルは false を返します)
ディレクトリの情報を知る必要がある場合は、dirname($path) とbasename($path) を使用して、ファイルのディレクトリ部分とファイル名部分を返すことができます。それぞれのパスを返すには、disk_free_space($path) を使用できます。 、非ウィンドウの umask() 関数によって設定できます。
rmdir ($path)
$path 内のパスを持つファイルを削除します。 dir -- directory クラスも同様です。ファイル ディレクトリを操作するための重要なクラスです。read、rewind、close という 3 つのメソッドがあり、最初にファイル ハンドルを使用して開き、次にポインタを使用して読み取ります。ここ:
コードをコピー
コードは次のとおりです:
$d = dir(" /etc/php5"); echo "ハンドル: " . $d->handle . "n"; echo "パス: " . $d->path . "n";
while (false !== ($entry = $d->read()) { echo $entry." n";
$d->close(); > ?>
[code]
出力:
ハンドル: リソース ID #2
パス: /etc/php5
、タイプ、サイズなど
ファイル操作について
2: ファイル操作
ファイルの読み取り
1 つ目は、ファイルを読み取ることができるかどうかを確認することです (権限の問題)。または、ファイルが存在する場合は、 is_readable 関数で情報を取得します。:
[code]
$file = 'dirlist.php';
if (is_readable($file) == false) {
die('ファイルが存在しないか、読み取ることができません');
} else {
echo '存在します';
is も 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));
fclose($fso);
バイナリ ファイルを読み取る別の方法もあります。
$data = implode('', file($file));
1: はじめに ファイルはどのコンピューターデバイスにも必要なオブジェクトであり、Web プログラミングでは、ファイル操作は Web プログラマーにとって常に頭の痛い問題ですが、CMS システムではファイル操作は必要であり、ファイル ディレクトリの生成やファイル (フォルダー) の編集などの操作によく遭遇します。 PHP のこれらの関数の使用方法については、PHP マニュアルを参照してください (これは PHP マニュアルには記載されていません)。 ) 2: ディレクトリ操作
最初に紹介するのは、ディレクトリから読み取る関数、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) を使用できます。 )、それぞれパスのディレクトリ部分とファイル名部分を返します。
作成コマンド:
mkdir($path,0777) を使用して、空き領域を返すことができます。 )、0777 は許可コードで、非ウィンドウ条件で umask() 関数を使用して設定できます。
rmdir($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 ほど包括的ではありません。ファイルが存在する場合、
を使用してコード をコピーできます。コードは次のとおりです。 $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)); $fso) ;
バイナリ ファイルを読み取る別の方法もあります:
$data = implode('', file($file));
ファイル
を書き込み、読み取ります。ファイルを取得する方法は同じです。最初に次のように記述できるかどうかを確認します:
コードをコピー
コードは次のとおりです:
$file = 'dirlist.php'; if (is_writable($file) == false) { die("私は鶏の羽です、私はできません"); }
? >
書き込みできる場合は、file_put_contents 関数を使用して次のように書き込むことができます:
code
$file = 'dirlist.php' if (is_writable($file) == false) { die('私は鶏の羽です、私はできません'); }
$data = '私は卑劣です、私は欲しいです';file_put_contents ($file, $data );
?>
php5 で新しく導入された関数 (存在するかどうかわからない場合は、function_exists 関数を使用して確認してください) は、下位バージョンでは使用できません。次のメソッドを使用できます。
$f = fopen($file, 'w');
fclose($f); >それを置き換えます。
ファイルを書き込むときにロックが必要な場合があります。その場合は次のように記述します。
コードをコピーします。
コードは次のとおりです:
functioncache_page($pageurl,$pagedata){
if(!$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);// ロックを解除します
fclose($fso);
return true;
}
ファイルのコピー、削除
php ファイルの削除は、次のように簡単に実行できます。
コードをコピーします
コードは次のとおりです:
$file = 'dirlist.php';
$result = @unlink ($file)
if ($result == false) {
echo '蚊は追い払われました';
} else {
echo '追い払われません';
}
?>
それだけです。
ファイルのコピーも簡単です:
コードをコピー コードは次のとおりです:
$file = 'yang.txt';
$newfile = 'ji.txt'; # このファイルの親フォルダーは書き込み可能でなければなりません
if (file_exists($file) == false) {
die ('デモはオンラインではないため、コピーできません');
}
$result = copy($file, $newfile)
if ($result == false) {
echo 'copy Memory ok';
}
?>
これらの関数を組み合わせて他の操作を実行することもできます。 🎜>ファイル属性の取得
いくつかの一般的な関数について説明します:
最新の変更時刻の取得:
コードをコピー コードは次のとおりです。
$file = 'test.txt'
echo date('r', filemtime($file)); ;
返されるのは、キャッシュ技術でよく使用される unix タイムスタンプです。
コードをコピー コードは次のとおりです:
$file = 'dirlist. php';$perms = substr('%o', fileperms ($file)), -4);
filesize() はファイル サイズをバイト単位で返します:
コードをコピー
コードは次のとおりです:
// 出力は次のようになります: somefile.txt: 1024 bytes $filename = ' somefile.txt';
echo $filename . ': ' ' bytes'; 🎜>?>
ファイルのすべての情報を取得し、戻り配列があります 関数 stat() 関数:
コードをコピーします
コードは次のとおりです。
$file = ' dirlist.php'; $perms = stat($file); var_dump($perms); ?>
ここでは展開されません。
上記でいくつかのファイル操作を簡単にまとめましたが、上記の機能に習熟している場合は、すでに操作している場合は大したことはありません。問題は、PHP のファイル操作の機能がすぐに変化することです。ファイル部分も PHP を学ぶ上で非常に重要な部分ですので、無視しないでください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6
ビジュアル Web 開発ツール
