PHP如何获得文件类型

tntxhy 2002-12-16 06:41:05
如何判断存在的文件的类型(不是上传的)?
要求得到一个类似于$_FILES['userfile']['type']所能得到的类型,比如image/gif,application/x-zip-compressed。
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tntxhy 2002-12-21
  • 打赏
  • 举报
回复
谢谢。
虽然不是我想要的,不过也没有别的办法了。
week9 2002-12-17
  • 打赏
  • 举报
回复
function get_file_type($filename) {
ereg( ".*\.([a-zA-z0-9]{0,5})$", $filename, $regs );
$f_ext = $regs[1];

$types['image'] = array ('jpg', 'gif','png');
$types['text'] = array ('html', 'htm', 'text');
$types['music'] = array ('mp3', 'mpeg3');
foreach ($types as $k => $v) {
if (in_array($f_ext, $v)) {
return $k;
break;
}
}
echo 'type-unknown';
}

and in your readdir loop you do:
get_file_type($file)
week9 2002-12-17
  • 打赏
  • 举报
回复
function get_file_ext( $filename ) {
ereg( ".*\.([a-zA-z0-9]{0,5})$", $filename, $regs );
return( $regs[1] );
}

and pass that to this:

function get_file_type($f_ext) {
$image_exts = array (".jpg", ".gif", ".png");
$text_exts = array (".htm", ".html", ".txt");
$arr_size = sizeof($image_exts);
for($gft_count=0;$gft_count<$arr_size;$gft_count++){
if ($image_exts[$gft_count] == $f_ext) {
$file_type = "image";
}
}
$arr_size = sizeof($text_exts);
for ($gft_count=0;$gft_count<$arr_size;$gft_count++){
if ($text_exts[$gft_count] == $f_ext) {
$file_type = "text";
}
}
if ($file_type = "") { $file_type = "unknown"; }
return( $file_type );
}
sdyqingdao 2002-12-16
  • 打赏
  • 举报
回复
都是image类型的,
差不多的
tntxhy 2002-12-16
  • 打赏
  • 举报
回复
比如JPG就有两种类型:
image/jpeg,image/pjpeg
好象不是一一对应的关系?
phpteam 2002-12-16
  • 打赏
  • 举报
回复
只能根据扩展名来指定!

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧