0

実際にphpを使用した画像リンクである場合、画像リンクを確認するにはどうすればよいですか?

ユーザーが画像リンクを保存できるWebサイトがありますが、データベースに追加する前にそのリンクを確認したい.jpgとpngファイルタイプのみを受け入れたい.

仮定する:http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash3/65952_491770220880511_1455944784_n.jpg

それを確認する方法は?

方法があるかどうか知りたいだけです:)

前もって感謝します

助けてくれてありがとう

4

3 に答える 3

1

PHP関数get_headersを使用して、ファイルのコンテンツタイプを確認できます。

ただし、ヘッダーを偽造することはできますが(たとえば、PHPのheader()関数を使用)、基本的な検証では、これで機能するはずです。

$headers = get_headers("http://sphotos-a.ak.fbcdn.net/hphotos-ak-ash3/65952_491770220880511_1455944784_n.jpg", 1);
if ($headers["Content-Type"] == "image/png" or $headers["Content-Type"] == "image/jpeg") {
    // It is a PNG or JPG
}

また、サーバーが「image/jpg」や「img/png」などのContent-Typeのバリエーションを返す可能性もあります(ただし、完全にはわかりません)。すべての可能性をカバーするまで、それをいじくり回さなければなりません。

于 2013-03-08T10:18:22.787 に答える
0

ヘッダーを確認してContent-Typeのみを確認できます。これにより、存在しないファイルの種類またはエラーのないファイルのみを保証できます。また、URL または画像の URL を検証 (存在) できるかどうかも知りたいです。

于 2013-03-08T10:23:56.603 に答える
0

CURL を使用して画像を取得し、ヘッダーをチェックして Content-Type を確認できます。写真と一致する場合は、imageMagick で写真をコピーするか、リンクをデータベースに保存するだけです。

于 2013-03-08T10:12:08.433 に答える