0

私がやろうとしているのは、ユーザーが送信した URL のスクリーンショットをキャプチャし、http://open.thumbshots.org/image.aspx?url=http://google.comを使用することです。問題は、何らかの理由でスクリーンショットがキャプチャされない場合 (ユーザーが無効な URL を入力できるため)、open.thumbshots.org のデフォルトの画像である "thumbshots.com 画像が近日公開" と表示されることです。失敗した場合に、その画像の代わりにデフォルトの画像を表示するにはどうすればよいですか?

$url = $_POST['user_url'];

とhtml

 <img src="http://open.thumbshots.org/image.aspx?url=<?php echo $url;?>" width = "180" height = "150" />

ここで、画像を表示する前に決定する必要があります。返された画像がサムショットのデフォルト画像である場合、デフォルト画像を表示します

4

1 に答える 1

1

私はこの特定のサービスに完全に精通しているわけではなく、続行するために使用しているコードを提供していませんが、いくつかのオプションがあると思います。

  1. 「expires」および/または「cache-control」ヘッダーを確認してください。デフォルトのイメージは、デフォルトのイメージの場合は 60 秒後に、有効なイメージの場合は 604800 秒 (またはそれよりも大きな値) 後に期限切れになるように設定されているようです。
  2. デフォルトの画像のコピーをローカルに保持し、ローカルに保持している画像が返された画像と同じ場合は、受信した画像と比較します。デフォルトの画像があることがわかります
  3. (1)と(2)を行う
  4. 別のサービスを使用するか、自分で行ってください。 たとえば、CutyCapt (こちらも参照)

個人的には、自分のサーバーでのパフォーマンスを保証でき、非常に使いやすいので、CutyCapt が本当に気に入っています。しかし、私はあなたのセットアップがどのようなものか、またはあなたがすでに試したことを知らないので、あなたには不可能かもしれません.

もしあなたがthumbshots.orgを使いたいと思っているなら、ヘッダーをチェックすることをお勧めします。

于 2012-11-09T07:55:10.813 に答える