0

getimagesize() を使用して、ユーザーがアップロードしている画像のサイズを取得し、この画像を処理するのに十分なメモリがあるかどうかを確認しました。問題は、寸法を読み取る前に getimagesize() がファイルをサーバーにダウンロードすることです。だからそのキャッチ22.これは非常に一般的な問題であるに違いありませんが、私は普遍的な解決策に出くわしていません. ダウンロードせずにリモート画像の寸法を取得する確実な方法はありますか?

4

1 に答える 1

3

HEAD画像の HTTP リクエストを送信します。これにより、応答ヘッダーが取得されますが、実際の本文 (画像) は送信されません。

次に、それらのヘッダーを読み、 を探しますContent-Length。これは、イメージのサイズをバイト単位で示す数値です。それを使用して、画像を処理するのに十分なメモリがあるかどうかを判断できます。その場合、リクエストを繰り返すことができますGET(これはgetimagesize()基本的に何をしますか)

于 2012-05-23T22:29:11.230 に答える