当前位置:Gxlcms > PHP教程 > 判断图片文件结尾,补全.jpg,.jpeg,.pngor.gif,该如何处理

判断图片文件结尾,补全.jpg,.jpeg,.pngor.gif,该如何处理

时间:2021-07-01 10:21:17 帮助过:19人阅读

判断图片文件结尾,补全.jpg, .jpeg, .png or .gif
我尝试从网络保存图片到本地,文件名保留原图片的结尾部分。
如:image.jpg, logo.png
但是有些图片文件结尾不是.jpg, .jpeg, .png or .gif的,需要补全.jpg, .jpeg, .png or .gif。
我用了stripos,但是遇到一些问题,比如像这样一个地址:
http://pcdn.500px.net/5953805/d0dd841969187f47e8ad9157713949b4b95b3bda/4.jpg?1333782904356
它原来的文件名结尾部分含有 .jpg,我想保存到本地,文件名为 4.jpg?1333782904356.jpg,如何正确判断?

PHP code
  1. <!--
  2. Code highlighting produced by Actipro CodeHighlighter (freeware)
  3. http://www.CodeHighlighter.com/
  4. -->$webimage = 'http://pcdn.500px.net/5953805/d0dd841969187f47e8ad9157713949b4b95b3bda/4.jpg?1333782904356';
  5. $pieces = explode("/", $webimage);
  6. $pathend = end($pieces);
  7. $imageinfo = @getimagesize($webimage);
  8. $imagetype= $imageinfo['mime'];
  9. if($imagetype=='image/jpeg'){
  10. if(stripos($pathend,'.jpg')==false){
  11. $newpathend = $pathend.'.jpg'; // if image end is't '.jpg', add '.jpg'
  12. }else if(stripos($pathend,'.jpeg')==0){
  13. $newpathend = $pathend.'.jpeg'; // if image end is't '.jpg', add '.jpeg'
  14. }else{
  15. $newpathend = $pathend;// if image end is '.jpg' or '.jpeg', do not change
  16. }
  17. }
  18. if($imagetype=='image/png'){
  19. if(stripos($pathend,'.png')==false){
  20. $newpathend = $pathend.'.png'; // if image end is't '.png', add '.png'
  21. }else{
  22. $newpathend = $pathend;// if image end is '.png', do not change
  23. }
  24. }
  25. if($imagetype=='image/gif'){
  26. if(stripos($pathend,'.gif')==false){
  27. $newpathend = $pathend.'.gif'; // if image end is't '.gif', add '.gif'
  28. }else{
  29. $newpathend = $pathend;// if image end is '.gif', do not change
  30. }
  31. }


------解决方案--------------------
PHP code
  1. $url = "http://pcdn.500px.net/5953805/d0dd841969187f47e8ad9157713949b4b95b3bda/4.jpg?1333782904356";
  2. $url_arr = parse_url($url);
  3. echo basename($url_arr['path']);
  4. <br><font color="#e78608">------解决方案--------------------</font><br>
  5. <dl class="code">PHP code<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li>$webimage = 'http://pcdn.500px.net/5953805/d0dd841969187f47e8ad9157713949b4b95b3bda/4.jpg?1333782904356';</li><li>$pieces = explode("/", $webimage);</li><li>$fileName = end($pieces);</li><li>$ar = explode('.', $fileName);</li><li>preg_match('/^(jpg|jpeg|png|gif){1}\.*/i', $ar[1], $match);</li><li>$newFileName = $ar[0].'.'.$match[1];</li><li>echo $newFileName; </li></ol></pre></dl>

人气教程排行