Php 从文件地址提取字符串

Php 从文件地址提取字符串,php,string,extract,explode,Php,String,Extract,Explode,我有像“/files/temp/ABCDxyz dfgdf.jpg”这样的字符串 我需要提取ABCD。 首先,我想用这个来获取整个文件名 $file="/files/temp/ABCDxyz-dfgdf.jpg"; $fileName=explode("files/temp/",$file)[0]; 但它不起作用。用于获取不带目录的文件名: $filename = basename($file); // => ABCDxyz-dfgdf.jpg $beginning = substr($

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

我需要提取ABCD。 首先,我想用这个来获取整个文件名

$file="/files/temp/ABCDxyz-dfgdf.jpg";
$fileName=explode("files/temp/",$file)[0];
但它不起作用。

用于获取不带目录的文件名:

$filename = basename($file); // => ABCDxyz-dfgdf.jpg
$beginning = substr($filename, 0, 4); // => ABCD
用于获取不带目录的文件名:

$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;

您正在查找文件名的前四个字符吗

如果您有路径:

$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

下面的代码将导致

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];

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

$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;

?>

输出:-

您的文件路径:-ABCDxyz dfgdf

所需输出:ABCD

参考示例:

尝试使用以下代码:

<?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;

?>

输出:-

您的文件路径:-ABCDxyz dfgdf

所需输出:ABCD


参考示例:

您尝试过什么吗?还有什么其他字符串格式?如果它们的格式与您在问题中提到的相同,那么您可以使用explode()和substr()的组合来提取该字符串。是的,我正在尝试explode,但它不起作用。我做错什么了吗?编辑:对动态文件名/路径使用basename()而不是explode()。你尝试过什么吗?还有什么其他字符串格式?如果它们的格式与您在问题中提到的相同,那么您可以使用explode()和substr()的组合来提取该字符串。是的,我正在尝试explode,但它不起作用。我做错什么了吗?编辑:对动态文件名/路径使用basename()而不是explode()