本文目录一览:
- 1、用php编写一个函数,使用字符串处理函数获得文件的扩展名,如使输入ab. jpg, 输出jpg
- 2、php 验证上传的文件类型为图片,并获得文件的后缀名
- 3、请问:php如何获取数组中图片名称的后缀名呢?
- 4、php如何获取文件的扩展名
用php编写一个函数,使用字符串处理函数获得文件的扩展名,如使输入ab. jpg, 输出jpg
function cutname($fname)
{
$try = 0;
do{
$try= strpos($fname, '.', $try+1);
if($try!==false) $pos = $try;
}while($try!==false);
return isset($pos) ? substr($fname, $pos+1) : false;
}
php 验证上传的文件类型为图片,并获得文件的后缀名
以下是我上传了一个图片后显示的 $_FILES['filename']的信息
[filename] = Array
(
[name] = Winter.jpg
[type] = image/jpeg
[tmp_name] = /tmp/php2jw7QX
[error] = 0
[size] = 105542
)
其中type是文件类型的minitype 表示方法,例如普通的HTML的类型是text/html
如果你想用扩展名的方式判断的话可以用以下代码:
?php
#允许的文件扩展名
$allowed_types = array('jpg', 'gif', 'png');
$filename = $_FILES['filename']['name'];
#正则表达式匹配出上传文件的扩展名
preg_match('|\.(\w+)$|', $filename, $ext);
#print_r($ext);
#转化成小写
$ext = strtolower($ext[1]);
#判断是否在被允许的扩展名里
if(!in_array($ext, $allowed_types)){
die('不被允许的文件类型');
}
?
请问:php如何获取数组中图片名称的后缀名呢?
$aa= array ('15.jpg', '5.png');
$bb = array(); // 存放文件以及后缀
foreach($aa as $k=$v){
$bb[$k]['img'] = $v;
$bb[$k]['ext'] = getExt($v);
}
print_r($bb);
// 获取文件后缀
function getExt($file){
return substr(strrchr($file, '.'), 1);
}
php如何获取文件的扩展名
1.$file = 'x.y.z.png';
echo substr(strrchr($file, '.'), 1);
解析:strrchr($file, '.')
strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符
2.$file = 'x.y.z.png';
echo substr($file, strrpos($file, '.')+1);
解析:strrpos($file, '.')
查找 "." 在字符串中最后一次出现的位置,返回位置 substr()从该位置开始截取
3.$file = 'x.y.z.png';
$arr=explode('.', $file);
echo $arr[count($arr)-1];
4.$file = 'x.y.z.png';
$arr=explode('.', $file);
echo end($arr); //end()返回数组的最后一个元素
5.$file = 'x.y.z.png';
echo strrev(explode('.', strrev($file))[0]);
6.$file = 'x.y.z.png';
echo pathinfo($file)['extension'];
解析:pathinfo() 函数以数组的形式返回文件路径的信息。包括以下的数组元素:
[dirname]
[basename]
[extension]
7.$file = 'x.y.z.png';
echo pathinfo($file, PATHINFO_EXTENSION);
总结:字符串截取2种,数组分割3种,路径函数2种