この質問は、画像のフォルダ/ディレクトリを最適化し、最適化された画像を新しいディレクトリに移動することなく、既に最適化された画像を再最適化しないようにするプロジェクトの次のステップです。私はここに質問を投稿しましたHow to avoid Optimizing images that are already optimized with PHP?ディレクトリに存在するファイルのファイルまたはデータベースを保持する方法はありますか?
私のアプリケーションは、いくつかのImage Optimizationツールを包括し、指定されたディレクトリを再帰的にスキャンし、適切なオプティマイザプログラムを通してすべてのイメージを実行するPHPで書かれたコマンドラインツールです。
現在、200個の画像を含むフォルダがあり、アプリケーションを実行した場合、非常に時間がかかる200個の画像すべてを最適化しようとします。つまり、プロジェクトに別の5つのイメージを追加して、アプリケーションを再度実行する必要があるとしたら、5つの新しいイメージの代わりに205個のイメージすべてを最適化するということです。それが私が解決しようとしている問題です。私のアイデアは、画像フォルダにあるファイル/ DBのある種の種類を持つことです。アプリケーションが実行されると、このファイルにあるすべての画像を最初に読み込みます。画像がこのファイルにあれば、既に最適化されています。それを再最適化する必要はありません。したがって、私の例では、5つの新しい画像だけがファイルにないので実行されます。完了したら、これらの5つの新しいイメージはこのファイルにマージされるので、私のアプリケーションの3回目の実行では、すでに最適化され、ファイル/ DBに追加されているため、205イメージはすべてスキップされます。
これはかなり良い方法だと思いますが、パフォーマンスは賢明ですが、現在のアイデアを改善するためのすべてのアイデアや改善が可能ですか?
私のアプリケーションでは、提供されたディレクトリが再帰的に実行されるため、20枚の画像と8枚の他のサブフォルダを持つフォルダがあり、これらすべてに画像があり、フォルダーも同様に階層にどれくらい深いかにかかわらず、ルート提供フォルダーの下のすべてのイメージが実行されます。だから私は別のファイル/ DBを各サブフォルダの下にすでに処理されているファイルをリストする各サブフォルダの下に置く必要があるかどうか、あるいはルートフォルダの下の1つのファイル/ DBがルートフォルダに相対的なファイルパスがあります。
イメージが削除された場合は、このファイル/ DBから削除する必要がありますか、とにかく何も影響しない可能性があるので気にしないといけませんか?
私の主な質問は、このサウンドは良い解決策のようですか?既に最適化されたファイルを一覧表示するためのイメージフォルダ内のファイルまたはデータベースタイプのファイルですか?もしあなたがそう思っているなら、このファイルを作成するにはどうすればいいですか?各行に1つのイメージファイル、XMLファイル、またはどんな種類のファイルを持つ単純なテキストファイルでなければなりません。コンテンツをメモリに配列として格納し、次にイメージのディレクトリを再帰的にスキャンすると、見つかった各イメージをこのイメージリスト配列と比較して、既に処理リストに含まれているかどうかを確認し、ファイルやプロセスだけで、それらのファイル
は、など自分の考え、提案、critismを、共有してください、私はそれは良いアイデアであり、一般的にをカタログと呼ばれるこの
tl; dr ................ – Petah