現在、初めてphpプログラムを組んだサイトを作っています。
内容としては自分の撮った写真をコメント付きでアップしているのですが、
場所や季節でその写真を任意で並び替えられるようなウェブサイトを目指しています。
(チェックボタンなどで新着順、おすすめ順など訪問者が任意で並び替えられるphpプログラム)
$food["1"]["item0"]="tokyo";
$food["1"]["item1"]="0001.jpg";
$food["1"]["item2"]="20120430";
$food["2"]["item0"]="oosaka";
$food["2"]["item1"]="0002.jpg";
$food["2"]["item2"]="20120815";
それで写真を並び替えるために上記のような配列の塊が200近くあります。(
上記は例です)
今後1000個以上に増える予定ですのでphpファイルに全部記載すると編集しづらいので
上記の配列の部分だけ別にテキストファイルに記載してrequire_once ("test.txt")で
呼び出すことにしました。ここで質問なのですが、保存するファイルはテキストファイルで
よかったのでしょうか?
何分初めてで、ググってもその辺のことが詳しく書いてあるサイトもありません。
通常みなさんはどのようなファイル形式で保存するのでしょうか?
できる限り軽い方がいいです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
大量のデータを条件に合わせて取り出したり、並べ替えたりしたいならRDBを使ったほうが結果的に性能が出ると思います。
お手軽に使うとしたらSQLite3を使えば良いと思いますし、多少本格的にやるならMySQLやPostgreSQL、MariaDBを使い、金に糸目をつけないなら商用RDBMSもあります。
あと、RDBではありませんがこういう用途で使うものとして、MongoDBも流行りですね。
「軽い」というのはどういう意味で使っているかよくわかりませんが、RDBを使って適切なindexつければ一定以上のデータに対しての動作は速くなると思います。まぁ、ごく小さなデータを扱っている場合はRDBのファイルを読み書きしたり、RDBMSにつないだりする部分で余計な手間がかかるので逆に遅くなる可能性もありますが、今後容量が増えるならやっておいて損はないでしょう。
とはいえ、SQLなどの知識をみにつけないとRDBは使えないですし、それなりに容量も取るので、今全然速度で困っていないし、追加・削除・アップデートも手書きで十分対応できる範囲というなら、わざわざRDBに手を出す理由も無いかもしれません。一応言っておくと、require_onceすると、PHPが毎回ソースコードを読み込み、解析しないといけないので、RDBに整理整頓されたデータとして入っているのに比べて多少性能を犠牲にすることになります。また、RDBを使うと並び替えやカテゴリー分けの処理をRDBにやらせることで自分でPHPで書くよりも高速になる可能性が高いです。
というわけで、今後容量が増え続けてもそこそこの性能を出したいならRDBを検討してみてください。まぁ、手頃なところでまずはSQLite3を使ってみるところから始めてはどうでしょうか?
No.2
- 回答日時:
他の方が書いてるようにDBを使うのが正攻法ですが、テキストでなくphpファイルで配列の状態で書く方が読み込み後の評価、変換処理が省かれるのでやや速いです。
ちなみにrequireの方が速いです。(ただし2度読みしないようなロジックにしてください)
1000以上のレコードはテキストで処理するには多いですが、テキストファイルで管理されてるBBSもあるくらいですから非現実的ともいえないですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- iPhone(アイフォーン) iphoneで撮影した写真、動画を連番のファイル名で保存したい。 1 2022/04/28 02:12
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlspecialcharsが機能してい...
-
プロパティファイルの読み込み...
-
【file_exists】ファイルが存在...
-
session_start()でwarningが表...
-
includeができない
-
use と requireの違いは?
-
OpenPNEでエラー
-
JugemKeyやはてな認証APIを使っ...
-
PHPファイルの中身が見られるこ...
-
PHPを使ってのサーバ上ファイル...
-
URLが.PHPってどういう...
-
sqlite_open、SQLite3::open
-
.phpと.incファイルの違いはな...
-
【PHP】FTP関数でのバックアッ...
-
htaccess設定値を、PHPから動的...
-
Xamppでindex.phpだけしか表示...
-
onedrive にexcelファイルをア...
-
mysql utf8、php・euc-jp で出...
-
PHPのif文でその処理を途中で抜...
-
バッチを用いたフォルダの自動移動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
.phpファイルが、表示されない
-
URLが.PHPってどういう...
-
サイトのphpソースコードを表示...
-
HTMLに埋め込んだPHPがうまく出...
-
PHP+MySQL SQL文を外部ファイル...
-
use と requireの違いは?
-
さくらレンタルサーバーでPHPが...
-
PHPファイルの中身が見られるこ...
-
プロパティファイルの読み込み...
-
fputs()はfwrite()のエイリアス...
-
コマンドプロンプト エラー
-
PHPを使ってのサーバ上ファイル...
-
phpmailerで送れない添付ファイ...
-
htmlspecialcharsが機能してい...
-
別のドメインのファイルをrequire
-
[PHP+XML]PHPで動的に出力す...
-
CakePHP2のCronでのShellを使う...
-
phpinfoの内容が見れない
おすすめ情報