【転送】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

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール
