ホームページ > バックエンド開発 > PHPチュートリアル > 画像ファイルの終わりを判断し、.jpg、.jpeg、.png、または .gif を完成させる方法

画像ファイルの終わりを判断し、.jpg、.jpeg、.png、または .gif を完成させる方法

WBOY
リリース: 2016-06-13 13:38:05
オリジナル
1364 人が閲覧しました

画像ファイルの終わりを決定し、.jpg、.jpeg、.png、または .gif を完成させます
ネットワークからローカル コンピューターに画像を保存しようとしましたが、ファイル名には元の画像の終わりが残りました。
例: image.jpg、logo.png
ただし、一部の画像ファイルは .jpg、.jpeg、.png、または .gif で終わらないため、.jpg、.jpeg、.png、または.gif。
stripos を使用しましたが、次のようなアドレスなどの問題が発生しました:
http://pcdn.500px.net/5953805/d0dd841969187f47e8ad9157713949b4b95b3bda/4.jpg?1333782904356
元のファイル名 最後の部分に .jpg が含まれているのですが、ファイル名は 4.jpg?1333782904356.jpg となります。

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$webimage = 'http://pcdn.500px.net/5953805/d0dd841969187f47e8ad9157713949b4b95b3bda/4.jpg?1333782904356';
$pieces = explode("/", $webimage); 
$pathend = end($pieces);
$imageinfo = @getimagesize($webimage);
$imagetype= $imageinfo['mime'];
if($imagetype=='image/jpeg'){
    if(stripos($pathend,'.jpg')==false){
        $newpathend = $pathend.'.jpg'; // if image end is't '.jpg', add '.jpg'
    }else if(stripos($pathend,'.jpeg')==0){
        $newpathend = $pathend.'.jpeg'; // if image end is't '.jpg', add '.jpeg'
    }else{
        $newpathend = $pathend;// if image end is '.jpg' or '.jpeg', do not change
    }
}
if($imagetype=='image/png'){
    if(stripos($pathend,'.png')==false){
        $newpathend = $pathend.'.png'; // if image end is't '.png', add '.png'
    }else{
        $newpathend = $pathend;// if image end is '.png', do not change
    }
}
if($imagetype=='image/gif'){
    if(stripos($pathend,'.gif')==false){
        $newpathend = $pathend.'.gif'; // if image end is't '.gif', add '.gif'
    }else{
        $newpathend = $pathend;// if image end is '.gif', do not change
    }
}

ログイン後にコピー


-----解決策---------------- - ---
PHP コード
$url = "http://pcdn.500px.net/5953805/d0dd841969187f47e8ad9157713949b4b95b3bda/4.jpg?1333782904356";
$url_arr = parse_url($url);
echo ベース名($url_arr['path']);
<br><font color="#e78608">------解決策------------------</font><br>
ログイン後にコピー
PHP コード
$webimage = 'http://pcdn.500px.net/5953805/d0dd841969187f47e8ad9157713949b4b95b3bda/4.jpg?1333782904356';
$pieces =explode("/", $webimage);
$ファイル名 = 終了($個);
$ar =explode('.', $fileName);
preg_match('/^(jpg|jpeg|png|gif){1}.*/i', $ar[1], $match);
$newFileName = $ar[0].'.'.$match[1];
エコー $newファイル名<div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート