1、字符串查找和截取的方法
1
$extension=substr($file, strrpos($file, '.')+1);
3、数组分割的方法
strrpos返回指定字符串在目标字符串中的最后出现位置。
strrpos("abghcdefghi","gh")
结果8
说明gh的最后出现位置是8
与strpos函数不同,strpos是返回第一次出现位置,当然也可以在第三个参数上定义出现第几次。
strpos比strstr效率高很多,所以如果想知道某个子串是否包含在目标串里,那么最好用strpos,比如
if(strpos("你好,你叫什么名字","什么")!==false)
echo "包含!";
<?php
// 忽视位置偏移量之前的字符进行查找
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0
?>
$extension=end(explode('.', $file));
4、使用pathinfo直接解析的方法
1
2
$info = pathinfo($file);
$extension=$info['extension'];
5、使用pathinfo的第二个参数
1
$extension=pathinfo($file, PATHINFO_EXTENSION);
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$extension = finfo_file($finfo, $file) ;
echo $extension;
finfo_close($finfo);
1
$extension=substr(strrchr($file, '.'), 1);
例子例子 1<?phpecho strrchr("Hello world!","world");?>
输出:
world!例子 2<?phpecho strrchr("Hello world!",111);?>
输出:
orld!
$extension=substr($file, strrpos($file, '.')+1);
3、数组分割的方法
strrpos返回指定字符串在目标字符串中的最后出现位置。
strrpos("abghcdefghi","gh")
结果8
说明gh的最后出现位置是8
与strpos函数不同,strpos是返回第一次出现位置,当然也可以在第三个参数上定义出现第几次。
strpos比strstr效率高很多,所以如果想知道某个子串是否包含在目标串里,那么最好用strpos,比如
if(strpos("你好,你叫什么名字","什么")!==false)
echo "包含!";
<?php
// 忽视位置偏移量之前的字符进行查找
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0
?>
$extension=end(explode('.', $file));
4、使用pathinfo直接解析的方法
1
2
$info = pathinfo($file);
$extension=$info['extension'];
5、使用pathinfo的第二个参数
1
$extension=pathinfo($file, PATHINFO_EXTENSION);
6、使用finfo_file函数
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$extension = finfo_file($finfo, $file) ;
echo $extension;
finfo_close($finfo);