そこで疑問なのですが、PHPのファイル操作はどのようなときに使うのでしょうか?
質問で「CSVファイルの読み書き」とあるようにCSVファイルの読み書きでもよく使います。
どんな時に使うのかという質問に忠実にこたえるとすれば、「ファイル操作をしたいとき」という答えになってしまいます。場面やソリューションに合わせてどんな関数やクラスがあるのかを覚えておけば良いと思います。
php
1//読み込み
2fopen();
3fread();
4fclose();
5//↑ まとめると
6file_get_contents();
7
8//書き込み
9fopen();
10fwrite();
11fclose();
12//↑ まとめると
13file_put_contents();
巨大なファイルを操作する場合はメモリを一気に消費してしまうなどの理由からfile_get_contents()
やfile_put_contensts()
を使えない場合もあります。オブジェクト指向でファイル操作をしたい場合はStandard PHP Librariy(SPL)クラス
を使用します。ファイル操作で複雑な処理を汎用化したい場合は、オブジェクト指向を使ったほうがメンテナンス性、拡張性、量産性に優れます。
掲示板等のWebアプリケーションを開発するときに必要なのですか?
いろいろな理由でファイル操作が必要になる場合もありますが、普通はファイル操作は掲示板アプリケーションに必要ありません。10数年前の掲示板アプリケーションではファイル操作が当たり前だったこともあります。
教科書などでのサンプルは実際の業務で使える場合もありますが、あくまでも関数やメソッドの使い方であって、業務における実際のソリューションの例ではありません。業務におけるソリューションはリクエストによって千差万別で、業務をこなせばこなすほどある程度共通項は見えてくると思います。
そもそもデータベースがあればファイル操作は必要ないのでしょうか?
どのような場面で必要になるのか教えてください。
これは、足し算がわかれば、掛け算はいらないでしょうか?という質問に似ています。ぶっちゃけファイル操作が必要ないと考えることは非常に危険です。
データーベースは確かに非常に便利ですが、データーベースだと冗長になってしまう場合はファイルに書き込んだりすることもあります。
よくあるファイル操作を伴うユースケース
- 業務アプリケーションでCSVやXML形式でデーターベースのデータをエクスポートして、エクセルなどで編集したあと、データーベースにインポートしたい時
- バッチ処理で、CSVファイルやXMLファイルを編集したい時
- 外部アプリケーションとファイル操作で連携したい時(APIがサポートされていない時など)
- 管理アプリケーションで設定ファイルや、テンプレートファイル等のファイルを編集したい時
- キャッシュをファイルに記録しておきたい時
- 多言語翻訳をファイルに記録しておきたい時
- 切り取り、重ね合わせなどの画像操作を行いたい時
- 業務アプリケーションで、外部デバイス(検査装置など)がファイル操作にしか対応していない時
微妙なものもありますがファイル操作は基本ですし、そんなに難しくもないので覚えておいて損はありません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/07 22:13 編集
2017/09/07 23:07
退会済みユーザー
2017/09/08 01:56
退会済みユーザー
2017/09/08 01:59
2017/09/08 03:44
退会済みユーザー
2017/09/08 06:42 編集
退会済みユーザー
2017/09/08 06:41
退会済みユーザー
2017/09/08 06:50