0

5 分ごとに xml ファイルを読み取り (cronjob を使用)、データベース内の画像に約 700 個の URL を保存するアプリケーションがあります。5 分後、ほとんどの画像が削除され、プロセスが再開されます。

画像をローカルに保存すると、私のサイトはより高速になりますが、それを行う方法についてアドバイスが必要です。

  1. fopen、curl を使用してみましたが、一度に非常に多くの画像を書き込むと、すべてが機能しなくなります。
  2. それらをblobとして保存するのはどうですか?これは速度にどの程度影響しますか?

何か案は?

4

2 に答える 2

0

Blob として保存することはお勧めしません。代わりに、ローカルに保存された画像名をデータベースに保存できます。非常に多くの画像を blob に保存すると、不必要に多くのリソースが必要になります。

これを試すことができます。そのxmlファイルにアクセスすると、すべてのURLが取得され、一時テーブルに保存さunsaved_images_urlidますurl

次に、上記のテーブルから行をローカルにフェッチし、イメージをディスクに保存します。これは、シェルスクリプトまたはよくわからないもので実行できます。イメージをローカルに保存したら、その行をデータベースから削除します。

于 2012-07-26T05:10:53.403 に答える
0

それらの名前を変更する必要がない場合は、これらの行に沿って何かをしてみませんか ($images が URL の配列であると仮定します):

foreach($images as $image) {
    exec("wget $image");
}

ファイルを作成して書き込むよりも高速です。

于 2012-07-26T05:05:01.417 に答える