У меня есть строка типа «/ files / temp /ABCDхуг-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;
?>
Выход:-
Ваш путь к файлу: — ABCDxyz-dfgdf
ТРЕБУЕМЫЙ ВЫХОД: ABCD
Пример ссылки: Cilck Здесь