PHP 如何 得到文件名(不要后缀名)

2024-11-01 17:15:23
推荐回答(5个)
回答1:

  1. 网络请求上传文件,可使用php系统变量$_FILES[$paramName][$infoName]来获取相应数据。分析:$paramName为上传文件所使用的的参数名,$infoName为所需获取的信息类型('name'文件原名,'type'文件类型,'size'文件大小,'tmp_name'服务器临时存储此文件的文件名,'error'文件上传相关的错误代码...)。 

例:$fileName为不包含后缀名的文件名

$splitNames = explode(".", $_FILES['excel']['name']);//将文件原名按.分割打成字符串数组
unset($splitNames[count($splitNames)-1]); //抹掉文件后缀名数据
$fileName = implode('.', $splitNames);//将抹掉后缀名的数组拼接成文件名


2.本地文件,本地文件肯定需要提供文件路径

例:$fileName为不包含后缀名的文件名

$filePath = "文件路径";//文件路径
$splitPaths = explode("\", $filePath);
$fileFullName = $splitPaths[count($splitPaths)-1];//获取文件全名
$splitNames = explode(".", $_FILES['excel']['name']);//将文件全名按.分割打成字符串数组
unset($splitNames[count($splitNames)-1]);//抹掉文件后缀名数据
$fileName = implode('.', $splitNames);//将抹掉后缀名的数组拼接成文件名

回答2:

方法如下:

$dh = opendir($dirname);

$n = 0;

while ($file=readdir($dh)){

// $file为目录下所有文件和文件夹,

// 需要注意默认有 .(本目录)和..(上级目录)这两个特殊文件夹

if (is_file($file)){

//只处理文件

if (!strpos($file,'.')){

// 无后缀名的文件

}

$n++;  // 计数

}

}

回答3:

$phpself =$_SERVER['PHP_SELF']; //获取当前文件名
$str = end(explode("/",$phpself)); //去掉'/'
echo $str."
"; //输出文件全名
echo substr($str,0,strrpos($str, '.'))."
";//不带扩展名的文件名
echo strrchr($str, "."); //文件扩展名
?>

可以实现的方法有很多

回答4:

print_r(pathinfo(文件名或路径));
如果不想这样就要 自己写个 函数了
function aa($a){
$b=pathinfo($a);
return $b['filename'];
}

回答5:

pathinfo($url);  试试