ホームページ  >  記事  >  バックエンド開発  >  [転送] PHP アプリケーションで一般的な 8 つのファイル操作方法

[転送] PHP アプリケーションで一般的な 8 つのファイル操作方法

WBOY
WBOYオリジナル
2016-06-13 13:02:24805ブラウズ

【転送】PHPアプリケーションでよく使われる8つのファイル操作方法
PHP の独自の構文は、C、Java、Perl、および PHP 独自の革新的な構文を組み合わせたものです。 PHP はこれをインストールし、CGI や Perl よりも高速に動的 Web ページを実行できます。他のプログラミング言語と比較して、PHP で作成された動的ページは HTML ドキュメントにプログラムを埋め込んで実行します。PHP は HTML タグを完全に生成する CGI よりも実行効率が高く、コンパイルされたコードも実行でき、コンパイルによりコードの暗号化と最適化が可能です。実行すると、コードの実行が速くなります。 PHP は非常に強力な機能を備えており、すべての CGI 機能を実現でき、ほとんどすべての一般的なデータベースとオペレーティング システムをサポートしています。
ファイルとディレクトリの操作
PHP がローカルサーバー上のファイルとディレクトリを処理することは非常に便利ですが、パーミッションやパス関連の問題が発生する場合があります
1. ファイルを開きます
resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )
$handle = fopen(filename,mode)//ファイルを開き、このファイルのリソースを表すハンドルを返します
ファイル名は相対パスを使用するか、絶対パスを使用してネットワーク プロトコル モードを使用することもできます。また、開始モードは rr+ww+aa+xx+b です。バイナリ ファイルを操作するときに「b」マークを指定しないと、奇妙な問題が発生する可能性があります。 、破損した画像ファイルと rn 文字に関する奇妙な質問を含みます。
移植性の理由から、fopen() でファイルを開くときは常に「b」フラグを使用することを強くお勧めします。
ファイルを開く方法は次のとおりです
$fp = @fopen('log.txt',"rb");
$fp = @fopen('../log.txt'," rb");
$fp = @fopen("http://www.runer.com.cn/default.htm","rb");//ftp や ghoper などのプロトコルも使用できます。 php は .ini ファイルのallow_url_fopen オプションを有効にする必要があります
//////////////////////////////コード部分///// ///// //////////////////////////////
$filename1 = "userinfo.txt";//ディレクトリまたは include_path に存在します このファイル
$filename2 = "test.txt";//このファイルはディレクトリまたは include_path に存在しません
$resource1 = fopen($filename1,"rb");
@$resource2 = fopen( $filename2,"rb");//このファイルはディレクトリに存在せず、インクルードされたファイルのパスを見つけるために include_path または include_path が使用されないため、この操作ではエラーが報告されます。エラー サプレッサー @ を使用すると、ブラウザーにエラー メッセージを出力させないようにすることができます
if($resource1)
echo "ファイル {$filename1} を正常に開きました";
if(!@fopen($filename2, "r"))
echo "ファイル {$filename2} を開くのに失敗しました ";
/////////////////////////// ///////////////////////////////////////////////
---------------------- ---出力結果------------------------- ----------
ファイル userinfo.txt が正常に開きました
----------------------------- ----------
2. ファイルを使用した後、ファイルの使用が終了したことを PHP に明示的に伝えるために、ファイルのすべての内容がバッファーから正しくフラッシュされることをオペレーティング システムに確認させます。ハードディスクへ
Use fclose() to close the file,
bool fclose (resource handle)//Close An open file pointer
3. ファイルを読み取ります、fopen 関数の mode パラメーターにより読み取りが許可されます, PHP は、ファイルからデータを読み取るためのいくつかの関数を提供します
string fgets (int handle [, int length]) from ファイルポインターから行を読み取り、バイナリファイルで fgets を試行すると予測できない結果が生成されます
長さの場合が指定されていない場合、デフォルトで 1K データが読み取られます、改行文字 (戻り値に含まれます)、EOF または既に読み込まれています length - 1 バイト後に停止
string fgetss (resource handle [, int length [, string allowed_tags]] ) ファイルポインタから行を読み取り、HTML タグをフィルタリングします
fgetc() 単一文字を読み取ります
fread() 任意のバイナリデータを読み取ります
////////////// ////////////////コード部分/////// ///////////////////////// /////////
$handle = fopen ("test.jpg", "rb" );
$c;
while (!feof($handle)) {
$contents .= @fread($handle, 8192);//ループして読み取り、1 つの大きなブロックにマージします。 File
}
fclose($handle);
//////// ///////////////////////////////////////////////// ///////////////////
------ ---------------出力結果----- ------------------------ -------
------------ -----------------
4. 判決文書読み取りステータス
各ファイルハンドルにはファイルポインタ、つまり次の操作がファイル内のどこで行われるかを示すカーソルがあります。 fopen 関数
のモード パラメーターに従って、ファイル ポインターは最初はファイルの先頭 (0 ) に位置するか、ファイルの末尾
Feof() でファイルが到達したかどうかを判断できます。 the end (関数は最後に到達するとTRUEを返します)
filesize()関数はファイルのサイズを返します 5. ファイルを書き込みます
fwrite()関数 実行ファイル書き込み
////// ////////////////////////コード部分////////////// ////////// /////////////////
$filename = 'test.txt';
$somec;
// まず、ファイルが存在することを確認する必要があります。書き込み可能です。
if (is_writable($filename)) {
// この例では、追加モードを使用して $filename,
を開きます// したがって、ファイル ポインタはファイルの先頭
になります。 // fwrite() を使用するときに $somecontent が書き込まれる場所です。
if (!$handle = fopen($filename, 'a')) {
echo "ファイル $filename を開けません";
exit;
}
// $somecontent を書き込みます私たちが開いたファイル。
if (fwrite($handle, $somecontent) === FALSE) {
echo "ファイル $filename に書き込めません";
exit;
}
echo "$somecontent が正常に終了しましたファイル $filename";
fclose($handle);
} else {
}
echo "ファイル $filename は書き込み可能ではありません";
////// //////////////////////////////////////////////// //// //////////////////
-------------------------------------- --出力結果------ ----------------------------------
追加に成功しましたテキストをファイルに書き込み、ファイル test .txt
--------------------------------
バイナリデータの場合、3 番目のパラメータを指定する必要があります。これには、ディスクに書き込まれるデータバイト数が含まれます
$result = @fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'));
6. ファイルのパーミッションなどの情報
is_readable()//ファイルが読み取り可能かどうかを判断します
is_writeable()//ファイルが書き込み可能かどうかを判断します
is_writable()//ファイルが書き込み可能かどうかを判断しますwritable
fileperms()//ファイルのパーミッションを判定(UNIX形式のファイルパーミッションテスト関数)
file_exists()//このファイルが存在するかどうか
fileowner()//ファイルを書き込むユーザーを決定ファイルの所属
filegroup()//ファイルが属するグループを決定します
7. ファイルの削除と名前変更
unlink()//ファイルの削除
rename()// ファイルの名前変更
8. ディレクトリにアクセスします
ディレクトリ アクセスにはスラッシュ "/" を使用することをお勧めします。これは Windows および UNIX システムと互換性があります
Basename()//パス情報を除いたファイル名を返します
dirname() //ファイル名のディレクトリ部分を返します
realpath()//相対パスを受け入れ、ファイルの絶対パスを返します
pathinfo()//指定されたディレクトリ名、基本ファイル名、および拡張子を抽出しますpath
opendir()//ディレクトリを開き、リソースハンドルを返します
readdir()//ディレクトリエントリを読み取ります
rewinddir()//読み取りポインタを先頭に戻します
Closedir() //読み取りハンドルを閉じる
chdir()//現在のスクリプトの実行中に現在の作業ディレクトリを変更する
mkdir()//ディレクトリを作成する
rmdir() ディレクトリを削除する
// ////////////////////////////コード部分///////// /////////// /////////////////////
///////////////////////// //////////////////////////////////////////////// ///
--------------------------出力結果----- ------------------------
ファイル名: web: ファイルタイプ: dir
ファイル名: 研究: ファイルタイプ: di

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。