导航:首页 > 编程语言 > php获取图片的后缀

php获取图片的后缀

发布时间:2022-12-25 10:37:43

php 怎么下载没有后缀的图片

保存比较简单,使用 file_get_contents 和 file_put_contents ,比较麻烦(应该是没想到)的是如何获取图片类型,这个可以通过响应头来判断,响应头有一个属性 Content-Type ,它就是 mime ,做好 mime 和 文件扩展名的映射,就可以知道文件的扩展名了。下面这个函数可以做个参考:


/*
*保存图片
*@param$url要保存的链接
*@return保存的字节数,失败则返回false
*/
functionsaveFile($url)
{
//mime和扩展名的映射
$mimes=array(
'image/bmp'=>'bmp',
'image/gif'=>'gif',
'image/jpeg'=>'jpg',
'image/png'=>'png',
);
//获取响应头
if(($headers=get_headers($url,1))!==false)
{
//获取响应的类型
$type=$headers['Content-Type'];
//如果符合我们要的类型
if(isset($mimes[$type]))
{
$fileName=uniqid();
$ext=$mimes[$type];
$file="temp/$fileName.$ext";
//获取数据并保存
$contents=file_get_contents($url);
returnfile_put_contents($file,$contents);
}
}
returnfalse;
}

Ⅱ php上传图片没有文件名后缀

$filename = basename($_FILES['image']['name']);
$file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
echo $file_ext;

请楼主先试试用这几句看是否能获取到后缀名
一般来说,即使系统没有显示后缀名,在php上传中也是可以获取到后缀名的
还有,就是要检查一下,move_uploaded_file函数里,目标地址的图片名称是否拼接了后缀名

Ⅲ PHP略缩图怎么显示出后缀求助,求助

把这行代码改了就可以了。

$filePath = $uppath.md5($filename."image"). '.'. strtolower(fileext($_FILES['file']['name']));//转为无图片后缀的名称,并加密

Ⅳ php截取文件扩展名

解决楼主的问题的方法就是,分开写代码,即:
$filearr
=
split(".",$filename);
$filetype
=
end($filearr);
split
函数用来分割字符串的时候,基本等同于函数
preg_grep,分割表达式可以是一个正则表达式,也可以是一个普通字符串,所以本身的执行效率很低,这一点你要记得……
所以,实现你现在的这个需求的话,最好用explode函数,使用普通字符作为分割表达式……
但是也的确如楼上所说,split
函数(PHP里)已经弃用,你可以使用
preg_match、preg_match_all
、preg_grep
等使用正则表达式作为分割的函数来替代。
就整个你的需求而言,你的思路还不很好,当一个文件名是【a.b.c.d.e.f.g.php】的时候,程序要浪费多余的资源来分割其实你不用的a、b、c……,
所以要简单满足你取后缀名的需求的代码应该是:
$filetype=substr(strrchr($filename,'.'),1);
此外还有:$path_info
=
pathinfo($filename);
$filetype
=
$path_info['extension'];
其实不是很推荐。
下面比较一下它们各自的执行效率:
设文件名是:aaa.bb.php、循环执行10000次;执行10次取平均值:
split
+
end
:0.067644s
explode
+
end
:0.016251s
pathinfo
+
['extension']
:0.018983s
strrchr
+
substr
:0.008611s
【以上文字现场版纯手敲,2012-2-25
10:41,谢谢】

Ⅳ 如何用php获取文件名后缀

php获取文件后缀名(format file)
//方法一:
复制代码 代码如下:

<?php
function extend_1( $file_name )
{
$retval = “” ;
$pt = strrpos ( $file_name , “.” );
if ( $pt ) $retval = substr ( $file_name , $pt +1, strlen ( $file_name ) - $pt );
return ( $retval );
}

//方法二
复制代码 代码如下:

function extend_2( $file_name )
{
$extend = pathinfo ( $file_name );
$extend = strtolower ( $extend [ "extension" ]);
return $extend ;
}

//方法三
复制代码 代码如下:

function extend_3( $file_name )
{
$extend = explode ( “.” , $file_name );
$va = count ( $extend )-1;
return $extend [ $va ];
}

//方法四
复制代码 代码如下:

function getFileExt( $file_name )
{
while ( $dot = strpos ( $file_name , “.” ))
{
$file_name = substr ( $file_name , $dot +1);
}
return $file_name ;
}
?>

另外:
PHP pathinfo() 函数
PHP Filesystem 函数
定义和用法
pathinfo() 函数以数组的形式返回文件路径的信息。
语法
pathinfo(path,options)
参数
描述
path
必需。规定要检查的路径。
process_sections
可选。规定要返回的数组元素。默认是 all。
可能的值:
PATHINFO_DIRNAME – 只返回 dirname
PATHINFO_BASENAME – 只返回 basename
PATHINFO_EXTENSION – 只返回 extension
说明
pathinfo() 返回一个关联数组包含有 path 的信息。
包括以下的数组元素:
[dirname]
[basename]
[extension]
提示和注释
注释:如果不是要求取得所有单元,则 pathinfo() 函数返回字符串。
例子
例子 1
复制代码 代码如下:

<?phpprint_r( pathinfo ( “/testweb/test.txt” ));?>
// 输出:
// Array([dirname] => /testweb[basename] => test.txt[extension] => txt)

例子 2
复制代码 代码如下:

<?phpprint_r( pathinfo ( “/testweb/test.txt” ,PATHINFO_BASENAME));?>
// 输出:
// test.txt

Ⅵ php怎么获取当前页面的后缀文件名

<?php
$url = $_SERVER['PHP_SELF'];
$filename= substr( $url , strrpos($url , '/')+1 );
echo $filename;
?>

Ⅶ PHP上传完图片以后怎么获取它上传到服务里边的文件名及格式后缀

使用$_FILES[]超全局数组,获取到上传文件的详细信息

Ⅷ 如何通过PHP获取一下本地目录下的所有图片,并在网页上分行页的显示出来,希望有类似代码的分享下,谢谢

$dir = opendir('uploads');

//列出目录中的文件
while (($file = readdir($dir)) !== false)
{
if(is_dir($file)==false)
{
$liebie = explode('.',$file);
if(count($liebie)>=2)
{
if ((strtolower($liebie[1])=='jpg')||(strtolower($liebie[1])=='gif'))
{
if ($num%3==0)
{
$list=$list.'</tr>';
}
$list=$list.'<td><img src="/uploads/'.$file.'" height="100" width="100"/><a href="/uploads/'.$file.'" onClick="ToClipboard(this.href)">复制<a></td>';
$num=$num+1;
}
}
}
}
closedir($dir);
$data['list']= "<table width='100%'><tr>".$list."</tr></table>";

Ⅸ 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 没有后缀名的文件怎么获取后缀

我给你思路吧

首先没有后缀,那只能通过文件头来判断了

functiongetFileType($file){
if(!empty($file)){
//打开文件
$filehead=fopen($file,'r');
//读取文件2字节
$bin=fread($filehead,2);
fclose($filehead);
//二进制字符串对数据进行解包
$data=unpack('C2chars',$bin);
$type_code=intval($data['chars1'].$data['chars2']);
switch($type_code){
case7790:
$fileType='exe';
break;
case7784:
$fileType='midi';
break;
case8075:
$fileType='zip';
break;
case8297:
$fileType='rar';
break;
case255216:
$fileType='jpg';
break;
case7173:
$fileType='gif';
break;
case6677:
$fileType='bmp';
break;
case13780:
$fileType='png';
break;
default:
$fileType='unknown';
break;
}
return$fileType;

}


-

阅读全文

与php获取图片的后缀相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163