从文件地址中提取字符串

Extracting string from file address

我有这样的字符串“/files/temp/ABCDxyz-dfgdf.jpg”

我需要提取ABCD。 首先,我试图用这个

获取整个文件名
$file="/files/temp/ABCDxyz-dfgdf.jpg";
$fileName=explode("files/temp/",$file)[0];

但它不起作用。

使用basename获取没有目录的文件名:

$filename = basename($file); // => ABCDxyz-dfgdf.jpg
$beginning = substr($filename, 0, 4); // => ABCD

您要查找文件名的前四个字符吗?

如果你有路径:

$path = '/files/temp/ABCDxyz-dfgdf.jpg';

您可以使用 substr 获取文件名:

$filename = basename($path);

然后提取前四个字符:

$firstFour = substr($filename,0,4);
echo $firstFour;

下面的代码导致

ABCDxyz-dfgdf.jpg

你可以从这里继续提取ABCD

    $name = "/files/temp/ABCDxyz-dfgdf.jpg";

    $temp = explode("/files/temp/",$name);

    print "\n".$temp[1]; // give out ABCDxyz-dfgdf.jpg

您可以使用此正则表达式获取路径后的前四个字符

$str = "/files/temp/ABCDxyz-dfgdf.jpg";
preg_match_all('/files\/temp\/([a-z]{4})/i',$str,$m);
echo $m[1][0];

尝试使用此代码:

<?php

// your file
$file = '/files/temp/ABCDxyz-dfgdf.jpg';
$info = pathinfo($file);
$file_name =  basename($file,'.'.$info['extension']);
echo $file_name; 
$firstFour = substr($file_name,0,4);
echo $firstFour;

?>

输出:-

Your File path:- ABCDxyz-dfgdf

REQUIRED OUTPUT: ABCD

参考示例:Cilck Here