商品レビューゲーム食レポお問い合わせホームプログラミングPHPPHPでファイルを読み込む6つの方法!PHPTwitterFacebookはてブPocketLINEコピー2022.12.12PHPでファイルを読み込む方法をまとめました。6つの方法でファイルを読み込んでみます。・fgets関数fread関数とfgets関数については、fopen関数でファイルを開いてから使います。載せているサンプルコードについては、PHPのバージョン8.1.8を使って検証しています。目次file関数で読み込む動作確認readfile関数で読み込むfile_get_contents関数で読み込む動作確認SplFileObjectクラスで読み込む動作確認fread関数で読み込む動作確認fgets関数で読み込む動作確認ファイルを読み込む6つの方法まとめfile関数で読み込むfile関数を使って、ファイルの内容を読み込んでみます。file関数で読み込むと、読み込んだファイルを配列として返してくれます。file関数については、公式ドキュメントのこちらにも記載があります。下記のように使うことができます。$content;}file関数を使って、ファイルを読み込みました。file関数に渡しているのは、ファイルのパスになります。ファイルのパスを渡すと、ファイルを読み込んで配列にして返してくれます。(改行はそのままついてきます)返ってきたファイルの内容の配列をforeach文で回して表示しています。$number変数は配列のキーになります。0からの値が入っているので、行番号として使います。$content変数には、読み込んだファイルの内容が1行ずつ入ってきます。$number変数は0からなので、1を足して、1からの行番号にしています。今回は、ローカルにあるファイルを読み込みましたが、URLを指定してWeb上のファイルを使うこともできます。下記のようにファイルを用意して、動作を確認してみます。World!そうすると、このように行番号付きで出力されました。1行ずつ読み込まれていることが確認できました。World!readfile関数で読み込むreadfile関数を使って、ファイルの内容を読み込んでみます。readfile関数については、公式ドキュメントのこちらにも記載があります。readfile関数はファイルを読み込んで、標準出力にすぐに書き出す関数です。<?phpreadfile("hello.txt");実行すると、ファイルの内容をそのまま、標準出力に書き出します。コンソールで実行すると、ファイルの内容がそのままコンソールに出力される形です。readfile関数の使い所としては、Web上でファイルをダウンロードさせるときに使います。下記のように書くと、PHPファイルにアクセスしたときに、任意のファイルをダウンロードさせることができます。今回は画像ファイルの”test.png”ファイルをダウンロードするようにしてみました。public');readfile($image);file_get_contents関数で読み込むfile_get_contents関数を使って、ファイルの内容を読み込んでみます。file_get_contents関数はファイルを読み込んで、文字列として返してくれます。file_get_contents関数については、公式ドキュメントのこちらにも記載があります。下記のように使うことができます。file_get_contents("hello.txt");var_dump($contents);渡したファイルパスの内容を文字列として、$contents変数に返しています。$contents変数の内容をvar_dump関数で出力しました。今回はローカルのファイルパスを指定しましたが、URLを指定することもできます。下記のようにファイルを用意して、動作を確認してみます。World!そうすると、このように文字列が返ってきていることが確認できました。World!"SplFileObjectクラスで読み込むSplFileObjectクラスを使って、ファイルの内容を読み込んでみます。SplFileObjectクラスにファイルパスを指定すると、ファイルオブジェクトを返してくれます。SplFileObjectクラスについては、公式ドキュメントのこちらにも記載があります。$content;}SplFileObjectをnewするときに、コンストラクタにファイルパスを渡します。すると、ファイルオブジェクトが返ってきます。$file変数で返ってきたファイルオブジェクトを受け取っています。foreach文に渡すことで、配列と同じように使うことが可能です。$number変数には、0からの番号が格納されるので、行番号として使っていきます。$content変数には、読み込んだファイルの内容が1行ずつ入ってきます。SplFileObjectクラスはsetFlagsメソッドを使うと、空行の読み飛ばすことも可能です。CSVファイルを読むときの設定もあり、CSVファイルを読み込むときには、こちらのクラスを使うと良いかと思います。SplFileObjectクラスで読み込む方法の詳細はこちらに書いたので、確認してみてください。PHPのSplFileObjectでファイル読み込み!(テキスト・CSV)PHPでSplFileObjectを使って、ファイルを読み込む方法について書いています。最初にSplFileObjectクラスについて簡単に解説しています。その後にテキストファイルとCSVファイルを読み込んで、挙動を確認してみました。下記のようにファイルを用意して、動作を確認してみます。World!そうすると、file関数と同様の結果になります。1行ずつ読み込まれていることが確認できました。World!fread関数で読み込むfread関数でファイルを読み込みます。fopen関数でファイルにアクセスした後に使うことが可能です。文字列としてファイルの内容を取得します。fread関数については、公式ドキュメントのこちらにも記載があります。下記のように使います。filesize($filePath));var_dump($contents);fclose($handle);最初に$filePath変数に読み込みたいファイルパスを指定しています。fopen関数を使用して、ファイルを開いています。第1引数にファイルパスを渡しています、第2引数にモードを設定しています。モードには”r”を設定しているので、読み込みになります。ファイルのリソース型が返ってくるので、$handle変数に格納しています。その次の処理で、fread関数を使ってファイルの内容を読み込んでいます。第1引数に、先ほど取得したリソース型の$handle変数を指定しています。第2引数は、読み込むファイルのサイズを指定しています。filesize関数にファイルパスを渡すことで、取得しています。読み込んだファイルの内容を$contents変数で受け取っています。var_dump関数で変数の内容を出力しています。最後にfcloseでファイルを閉じて処理を終了します。渡しているのは、開いたファイルのリソースです。下記のようにファイルを用意して、動作を確認してみます。World!そうすると、file_get_contents関数と同様の結果になります。文字列として、ファイルの内容が取得できていることが確認できました。World!"fgets関数で読み込むfgets関数でファイルを読み込みます。こちらもfopen関数でファイルにアクセスした後に使います。fgets関数を使うことで、file関数と同様に、1行ずつ読み込んで処理することが可能です。fgets関数については、公式ドキュメントのこちらにも記載があります。下記のように使います。1;}fclose($handle);最初に$filePath変数に読み込みたいファイルパスを指定しています。fopen関数を使用して、ファイルを開いています。第1引数にファイルパスを渡しています、第2引数にモードを設定しています。$handleにはファイルのリソースが返ってきます。次の行で、行番号に使う$number変数を用意しています。while文を使用して、ファイルの内容を1行ずつ読み込んでいます。fgets関数に渡しているのは、取得したリソース型の$handle変数です。ファイルの内容を読み終わるまで、$line変数にファイルの内容を1行ずつ格納しています。ループ処理では、行番号とファイルの内容を出力するようにしました。最後にfcloseでファイルを閉じて処理を終了しています。下記のようにファイルを用意して、動作を確認してみます。World!そうすると、file関数と同様の結果になります。1行ずつ処理されて、行番号と一緒にファイルの内容が出力されました。World!ファイルを読み込む6つの方法まとめ今回紹介したファイルを読み込む方法を表にまとめました。クラスをnewして使う。fopen関数で取得したリソースを使うファイルを行単位で読み込む簡単に読み込みたいときには、file_get_contents関数・file関数を使うとよさそうです。文字列で一括で読み込むときにはfile_get_contents関数、行単位で読み込むときにfile関数を使いました。ダウンロード処理にはreadfile関数を使っていきましょう。独学に限界を感じたら、オンラインで学んでみよう!本当にわからない場合は、知っている人に聞くと近道になります。・PHP/Laravelのおすすめプログラミングスクール5選!PHP/Laravelのおすすめプログラミングスクール5選!PHPやLaravelが学べるプログラミングスクールを5つ選んで比較してみました。総合的にみると、Freeksがサブスク型で始められて、就職支援まで行ってくれるので良さそうでした!PHP/Laravelが学べるプログラミングスクール5選ゲス...codelikes.com2022.10.15PHPプログラミングシェアするTwitterFacebookはてブPocketLINEコピーyasuakiをフォローするyasuakiコードライクプログラミングRubyの学習におすすめ本4選!【現役エンジニア選定】Rubyの学習におすすめの本を4つ紹介しています。Rubyについて簡単に説明して、その後におすすめの本を紹介しました。最後にRubyを「どの本で学ぶのが良いか」の考察をまとめていますので、確認してみてください。※Amazonのお試し読みでひ...C#C#で配列の要素・要素数を取得する方法!C#の配列で要素を取得したり、要素数を取得する方法について書いています。載せているコードについては、.Netのバージョン6(C#のバージョン10)で確認しました。要素を取得するには?要素番号を指定して取得する方法と、GetValueメソッド...PythonPythonのin演算子の使い方!サンプルコード6選Pythonのin演算子の使い方について書いています。in演算子を使うことで、if文で下記の型のオブジェクトに指定した値が含まれるか確認することができます。inを使って、オブジェクトのプロパティでループ処理をする方法について書いています。inについて解説した後に、下記のことについて書いています。・for...inでループされる順番・for...inを途中で...Python【Python入門】if文の使い方!「もしも〜なら」の条件分岐!Pythonでif文を使って、条件分岐をする方法について書いています。最初にif文について簡単に解説して、その後にelse文・elif文について解説しています。ifと一緒に使用するelifやelseについても一緒に解説しました。載せているコ...GitGitのバージョンを確認する方法!(コマンド・GUIクライアント)使っているGitのバージョンを確認する方法について書いています。コマンドで確認する方法と、GUIクライアントで確認する方法を記載しています。GUIクライアントでの確認は、下記のクライアントアプリケーションを対象にしています。・SourceT...PythonPythonで数値を文字列に変換する4つの方法!Pythonで数値を文字列に変換する方法について書いています。数値から文字列に変更するには、下記の方法を使います。・str関数・__str__メソッド・formatメソッド・f(フォーマット済み文字列リテラル)サンプルコードはPythonの...JavaJavaの学習におすすめ本5選!【現役エンジニア選定】Javaの学習におすすめの本を5つ紹介しています。最初にJavaについて簡単に説明して、その後におすすめの本を紹介します。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Δプロフィールyasuaki福岡でフリーランスをやってます。業界歴13年になりました、SESで働くことがほとんどです。なんでもやってますが、Webが得意です。このブログではプログラミング技術の内容を中心に、たまに商品レビューとかを書いています。配列のまとめ要素を追加する要素を削除する配列を結合する要素を含むか確認する要素数を数える配列の値を展開するPHP/Laravelの学習におすすめの本を選定!・PHPの学習におすすめの本6選!【現役エンジニアが選定】PHPの学習におすすめの本6選!PHPの学習におすすめの本を6つ紹介しています。Laravel・CakePHP・SymfonyなどのWebフレームワークやWordPressなどに使われているPHP。フレームワークの内部のコードや、使用されているシステムのコードを理解するた...codelikes.com2022.08.04・Laravelの学習におすすめの本3選!【現役エンジニアが選定】Laravelの学習におすすめの本3選!(本が必要?)今回はLaravelの学習にオススメの本を3つ紹介しています。学習するにあたって本が必要か考えてみました。Techpit前半はPHPのみでEvernote風メモアプリケーションを開発し、後半は同じものをLaravelで開発する。フレームワークを使用しない場合の開発と、Laravelのメリットを実際に開発することで体感。開発を通じて、簡単なアプリケーションの作り方やSQLの書き方、dockerの使用方法などを学ぶ。商品レビューゲーム食レポお問い合わせホーム検索トップサイドバータイトルとURLをコピーしました。