作者:缘来是你-心定 | 来源:互联网 | 2023-09-25 14:27
导读:很多朋友问到关于php如何判断文件是图片的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
本文目录一览:
1、php判断一个文件的类型是否为图片格式(jpg gif png格式)用in array格式做
2、php判断文件是不是图片
3、php怎么判断一个url是不是图片
4、php 验证上传的文件类型为图片,并获得文件的后缀名
php判断一个文件的类型是否为图片格式(jpg gif png格式)用in array格式做
$kuozhan=array('jpg','gif','png');
$flag = 1; // 判断上传文件是否格式正确,正确则为1 , 有一个格式错误则0
// 循环,检测格式是否错误
foreach($val['tmp_name'] as $key=$us){
foreach($val['name'] as $key=$ns){
$arr=pathinfo($val['name'][$key]);
if(!in_array($arr['extension'],$kuozhan)){
echo " 上传失败,格式错误!";
$flag = 0; // 格式有错,flag为0
break;
}
}
}
// 上传文件
if ($flag == 1) {
循环上传文件
}
php判断文件是不是图片
利用getimagesize函数:
function isImage($filename){
$types = '.gif|.jpeg|.png|.bmp';//定义检查的图片类型
if(file_exists($filename)){
$info = getimagesize($filename);
$ext = image_type_to_extension($info['2']);
return stripos($types,$ext);
}else{
return false;
}
}
if(isImage('test.jpg')!==false){
echo '是图片';
}else{
echo '不是';
}
php怎么判断一个url是不是图片
可以分析HTTP头信息中的Content-Type。
php有获取头信息的函数get_headers():
// $url 为图片地址
$header = get_headers($url, 1);
// $headers['Content-Type'] 是URL的类型
$type = explode('/', $headers['Content-Type']);
if ($type[0] === 'image') {
// 这是一个图片
}
else {
// 这不是一个图片
}
关于get_headers()的具体信息,可以参见:
PHP手册:get_headers():
如果要写成一个函数,就是:
function is_image($url) {
$header = get_headers($url, 1);
$type = explode('/', $headers['Content-Type']);
if ($type[0] === 'image') {
// 这是一个图片
return TRUE;
}
else {
// 这不是一个图片
return 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如何判断文件是图片的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~