Цикл через файлы в папке в php
Я просмотрел через Интернет и обнаружил, что этот скрипт сделал это, но у меня возникли проблемы с чтением имен файлов.
вот код
$dir = "folder/*";
foreach(glob($dir) as $file)
{
echo $file.'</br>';
}
этот дисплей в этом формате
folder/s0101.htm
folder/s0692.htm
по каким-то причинам я хочу получить их в этой форме.
s0101.htm
s0692.htm
может кто-нибудь сказать мне, как это сделать?
Ответы
Ответ 1
Просто используйте basename()
, обернутый вокруг переменной $file
.
<?php
$dir = "folder/*";
foreach(glob($dir) as $file)
{
if(!is_dir($file)) { echo basename($file)."\n";}
}
Приведенный выше код игнорирует каталоги и получает только имена файлов.
Ответ 2
Вы можете использовать pathinfo
функцию, чтобы получить имя файла из пути dir
$dir = "folder/*";
foreach(glob($dir) as $file) {
$pathinfo = pathinfo($file);
echo $pathinfo['filename']; // as well as other data in array print_r($pathinfo);
}