我试图把web图像保存到本地,我在这里使用代码来做判断,如果图像文件名结尾不是.jpg,.jpeg,.png或者.gif,请添加它们。我使用stripos
,但遇到像这样的图像网址时遇到了一些麻烦。那么如何解决?谢谢。php检查图片文件名结尾是不是.jpg,.jpeg,.png或.gif。
$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')==0){
$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')==0){
$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')==0){
$newpathend = $pathend.'.gif'; // if image end is't '.gif', add '.gif'
}else{
$newpathend = $pathend;// if image end is '.gif', do not change
}
}
一试,只是因为一个文件名以.jpg结尾并不能使它JPEG文件,更好地检查的MIME类型。 – 2012-04-07 09:27:15