特为大家收集如下5个获取文件扩展名的小方法,以飨的朋友们。
相比之前,我们介绍过的php获取文件扩展名的几种方法,本文介绍的方法,更显灵活。
取得文件扩展名的5种方法汇总。
<?php
//获取文件扩展名
$file = '.php';
//方法1
$path_info = pathinfo($file);
//print_r($path_info);
//echo "<br>";
//echo $path_info['dirname'];
//echo "<br>";
//echo $path_info['basename'];
echo "<br>";
echo strtolower()($path_info['extension']);
//方法2
echo "---------------------<br/>";
$p = strrpos($file,'.'); //得到最后一个点的位置
echo strtolower(substr($file,$p+1));
//方法3
echo "---------------------<br/>";
$arr = explode()('.',$file);
echo strtolower($arr[count($arr)-1]);
//方法4
echo "---------------------<br/>";
$arr = explode('.',$file);
echo strtolower(end($arr));
//方法5
echo "---------------------<br/>";
preg_match('/\.(\w+)$/',$file,$extend);
echo strtolower($extend['1']);
//方法6
echo "---------------------<br/>";
//strrchr($file,'.') 最后一次出现的位置开始到最后的字符串
echo strtolower(substr(strrchr($file,'.'),1));
//by http://www.
?>
附:扩展名小知识
文件扩展名是操作系统用来标志文件格式的一种机制。
通常来说,一个扩展名是跟在主文件名后面的,由一个分隔符分隔。
在一个像“readme.txt”的文件名中,readme是主文件名,txt为扩展名,表示这个文件被认为是一个纯文本文件。
<?
/*
获取文件的扩展名
用法:GetFiletype($filename)
*/
function GetFiletype($Filename) {
if (substr_count($Filename, ".") == 0) { // 检查文件名中是否有.号。
return; // 返回空
} else if (substr($Filename, -1) == ".") { // 检查是否以.结尾,即无扩展名
return; // 返回空
} else {
$FileType = strrchr ($Filename, "."); // 从.号处切割
$FileType = substr($FileType, 1); // 去除.号
return $FileType; // 返回
}
}
$Filename = "index.php";
$Filename = GetFileType($Filename);
echo $Filename; // 打印出php
完整代码如下。
<?
//树型目录结构模板程序
//菜单目录库字段说明:
//menu_id 菜单项目 id
//menu 菜单名称
//menu_grade 菜单等级 1 为主菜单 2 为二级菜单 ........
//menu_superior 上一级菜单 id 号
function my_menu($menu_content,$i,$menu_grade_temp,$menu_superior_temp)
{
global $PHP_SELF;
$temp1=$menu_grade_temp+1;
$menu_superior_temp_array=split("/",$menu_superior_temp);
for ($t=0;$t<$i;$t++)
{
$menu_array=split("/",$menu_content[$t]);
If(($menu_array[2]==$menu_grade_temp)&&($menu_array[3]==$menu_superior_temp_array[$menu_grade_temp-1]))
{
for($p=1;$p<=$menu_grade_temp;$p++){echo " ";}
$temp3=$menu_superior_temp_array;
$temp3[$menu_grade_temp]=$menu_array[0];
$temp2=implode("/",$temp3);
if ($menu_array[0]==$menu_superior_temp_array[$temp1-1])
{
$temp5=$temp1-1;
$temp3[$menu_grade_temp]="";
$temp6=implode("/",$temp3);
echo "<a href="/blog_article/$PHP_SELF/menu_grade_temp/.html".$temp5."&menu_superior_temp=$temp6">$menu_array[1]</a><br>";
my_menu($menu_content,$i,$temp1,$temp2);
}
else
{
$temp3[$menu_grade_temp+1]="";
$temp6=implode("/",$temp3);
echo "<a href="/blog_article/$PHP_SELF/menu_grade_temp/.html".$temp1."&menu_superior_temp=$temp6">$menu_array[1]</a><br>";
}
}
}
}
// 连接 MySql 数据库
$db_host="localhost";
$db_user="dkj";
$db_password="123";
$db_name="test";
mysql_connect()($db_host,$db_user,$db_password);
mysql_select_db($db_name);
//从数据库中取得数据
$query_string="select * from menu order by menu_grade";
$db_data=mysql_query()($query_string);
//第一次执行初始化
if ($menu_grade_temp=="")
{
$menu_superior_temp=0;
}
//将所有的信息读入数组,并统计数组个数
$i=0;
while (list($menu_id,$menu,$menu_grade,$menu_superior)=mysql_fetch_row($db_data))
{
$menu_content[$i]=$menu_id."/".$menu."/".$menu_grade."/".$menu_superior;
$i++;
}
my_menu($menu_content,$i,1,$menu_superior_temp);
/* 附数据库结构及模拟数据
# 主机: localhost 数据库 : test
# 数据表的结构 'menu'
CREATE TABLE menu (
menu_id int(11) NOT NULL auto_increment,
menu varchar(20) NOT NULL,
menu_grade int(11) NOT NULL,
menu_superior int(11) NOT NULL,
UNIQUE menu_id (menu_id)
);
# 导出下面的数据库内容 'menu'
INSERT INTO menu VALUES( '1', '计算机', '1', '0');
INSERT INTO menu VALUES( '2', '编程', '2', '1');
INSERT INTO menu VALUES( '3', '网络', '2', '1');
INSERT INTO menu VALUES( '4', 'PHP与MySql', '3', '2');
INSERT INTO menu VALUES( '5', 'C语言', '3', '2');
INSERT INTO menu VALUES( '6', '网页制作', '3', '3');
INSERT INTO menu VALUES( '7', 'TCP、IP协议', '3', '3');
INSERT INTO menu VALUES( '8', '数学', '1', '0');
INSERT INTO menu VALUES( '9', '高等数学', '2', '8');
INSERT INTO menu VALUES( '10', '线性代数', '3', '9');
INSERT INTO menu VALUES( '11', '离散数学', '3', '9');
INSERT INTO menu VALUES( '12', '初等数学', '2', '8');
INSERT INTO menu VALUES( '13', '文学', '1', '0');
INSERT INTO menu VALUES( '14', '', '2', '13');
INSERT INTO menu VALUES( '15', 'php', '4', '4');
INSERT INTO menu VALUES( '16', 'mysql', '4', '4');
*/
?>