A. php怎么获取当前页面的后缀文件名
1、第一次获得文件路径,假如变量设为path
$path=$_SERVER['REQUEST_URI'];
2、用basename函数即可获得路径中的文件名部分:
$filename=basename($path);
3.输出显示:
echo $filename;
B. 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,谢谢】
C. php 获取url地址文件后缀
$array = pathinfo(url);
$array['extension']; 是后缀
D. 如何用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
E. php怎么获取当前页面的后缀文件名
<?php
$url = $_SERVER['PHP_SELF'];
$filename= substr( $url , strrpos($url , '/')+1 );
echo $filename;
?>
F. php有哪些常用的后缀
PHP文件的固定后缀是也只能是.php,如果随意修改服务器会出现不能解析的情况,如果是在Linux上,你可以使用伪静态的方式把他改成其他的,但在创建的时候则不能这么做
G. php 取文件后缀名几种有效的方法
PHP中获取文件扩展名的N种方法
从网上收罗的,基本上就以下这几种方式:
第1种方法:
functionget_extension($file)
{
substr(strrchr($file,'.'),1);
}
第2种方法:
functionget_extension($file)
{
returnsubstr($file,strrpos($file,'.')+1);
}
第3种方法:
functionget_extension($file)
{
returnend(explode('.',$file));
}
第4种方法:
functionget_extension($file)
{
$info=pathinfo($file);
return$info['extension'];
}
第5种方法:
functionget_extension($file)
{
returnpathinfo($file,PATHINFO_EXTENSION);
}
以上几种方式粗看了一下,好像都行,特别是1、2种方法,在我不知道pathinfo有第二个参数之前也一直在用。但是仔细考虑一下,前四种方法都有各种各样的毛病。要想完全正确获取文件的扩展名,必须要能处理以下三种特殊情况。
没有文件扩展名
路径中包含了字符.,如/home/test.d/test.txt
路径中包含了字符.,但文件没有扩展名。如/home/test.d/test
很明显:1、2不能处理第三种情况,3不能正确处理第一三种情况。4可以正确处理,但是在不存在扩展名时,会发出一个警告。只有第5种方法才是最正确的方法。顺便看一下pathinfo方法。官网上介绍如下:
$file_path=pathinfo('/www/htdocs/your_image.jpg');
echo"$file_path['dirname'] ";
echo"$file_path['basename'] ";
echo"$file_path['extension'] ";
echo"$file_path['filename'] ";//onlyinPHP5.2+
它会返回一个数组,包含最多四个元素,但是并不会一直有四个,比如在没有扩展名的情况下,就不会有extension元素存在,所以第4种方法才会发现警告。但是phpinfo还支持第二个参数。可以传递一个常量,指定返回某一部分的数据:
PATHINFO_DIRNAME-目录
PATHINFO_BASENAME-文件名(含扩展名)
PATHINFO_EXTENSION-扩展名
PATHINFO_FILENAME-文件名(不含扩展名,PHP>5.2)
这四个常量的值分别是1、2、4、8,刚开始我还以为可以通过或运算指定多个:
pathinfo($file,PATHINFO_EXTENSION|PATHINFO_FILENAME);
后来发现这样不行,这只会返回几个进行或运算常量中最小的那个。也就是四个标志位中最小位为1的常量。
H. 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;
}
-
I. PHP函数获取URL文件后缀
//取出url地址中文件扩展名
$url = "http://sdk.tools.sinaapp.com/index.php?appname=beipiao&version=1";
function getFileName($url){
$a = explode('?', $url);
$b = strrpos($a[0], '.'); //strrpos(被搜索字符串,要查找字符串,[查找开始的位置]) 查找字符串最后一次出现的位置: 找到则返回最后一次出现的位置;未找到则返回false
$c = substr($a[0], $b+1, 3); //substr(被操作字符串,开始位置,[结束位置]) 返回字符串的一部分
return $c;
}
echo getFileName($url)."<br>";
//第二种方法
function getFileNameTwo($url){
$a = parse_url($url, PHP_URL_PATH); //parse_url() 解析url,返回其组成部分
$b = pathinfo($a, PATHINFO_EXTENSION); //pathinfo()
return $b;
}
print_r(getFileNameTwo($url));
J. PHP怎么获取文件类型
<?php
$file="php.txt";
//打开文件,r表示以只读方式打开
$handle=fopen($file,"r");
//获取文件的统计信息
$fstat=fstat($handle);
echo"文件名:".basename($file)."<br>";
//echo"文件大小:".round(filesize("$file")/1024,2)."kb<br>";
echo"文件大小:".round($fstat["size"]/1024,2)."kb<br>";
//echo"最后访问时间:".date("Y-m-dh:i:s",fileatime($file))."<br>";
echo"最后访问时间:".date("Y-m-dh:i:s",$fstat["atime"])."<br>";
//echo"最后修改时间:".date("Y-m-dh:i:s",filemtime($file))."<br>";
echo"最后修改时间:".date("Y-m-dh:i:s",$fstat["mtime"]);
?>