0

画像アップロード スクリプトを作成しており、一般的な画像拡張子をホワイトリストに登録しています。ファイルがホワイトリストに含まれているかどうかを判断するためにファイルの拡張子を取得できるようにする必要がありますが、一部の URL で問題が発生しています。

次に例を示します。

http://pisces.bbystatic.com/image/BestBuy_US/images/products/5512/5512124_ra.jpg;canvasHeight=280;canvasWidth=280

私のコード:

echo pathinfo($url, PATHINFO_EXTENSION);

以下を出力します。

jpg;canvasHeight=280;canvasWidth=280

デモ

コードを次のように変更すると、問題が解決します。

$parts = explode(';', pathinfo($url, PATHINFO_EXTENSION));
echo $parts[0];

デモ

ただし、それがここで採用する最善のアプローチであるかどうかはわかりません (1 つの理由は、他の Web サイトではセミコロンの代わりにデータに異なる区切り文字を使用している可能性があるためです)。

より良い方法はありますか?

編集: ここでテストとして (URL の例を使用して) 画像をアップロードしようとしたことは注目に値するかもしれませんが、StackOverflow は問題なくアップロードできました。

4

1 に答える 1