0

PHPで特注のCMS用のモバイルコンテンツ適応プラグインを書いています。CMSに<img/>は、すべて幅400ピクセル、高さの異なる絶対URLを持つ画像へのリンクが含まれています。

HTML(MySQLに保存されている)を解析し、各画像を新しい幅に再スケーリングしたいのですが、これはデバイスによって異なります。また、ページが読み込まれるたびにオンザフライで画像のサイズを変更しないように、画像をキャッシュしたいと思います。

ImageMagickまたはGDのいずれかを使用してPHPでこれを達成するための最良の方法は何ですか?

4

2 に答える 2

2

少し違うことをしたらどうですか。基本的に、キャッシュ/サイズ変更をオンデマンド モデルにオフロードします。たとえば、アプリケーションがデバイス A で実行されているとします。これには 200x200 の画像が必要です。画像リンクを次のように変更します。

<img src="/images/image.php?height=200&width=200&source=filename.jpg" />

image.php は、次のことを行うスクリプトである可能性があります。

  • 既存のファイルが存在することを確認し、このサイズで存在する場合はキャッシュから取得します
  • そうでない場合は、画像のサイズを変更してキャッシュします

次にアプリがその画像を探すときに、200px のサイズで送り返されます。または、アプリが現在 300x300 の画像を探している場合、それは新しいリクエストで構築/キャッシュされます。

于 2008-10-20T18:35:28.773 に答える
0

PHP と MySQL を使用してサイズ変更された画像をキャッシュする最良の方法を
参照し てください。キャッシュ メカニズムに関する優れたアイデア (特に Apache Web サーバー介入の概念)

http://phpthumb.sourceforge.net/ ImageMagick または GD の両方/いずれかを使用してカプセル化します。

于 2008-10-20T18:49:54.237 に答える