Как возвращает только имя файла, без пути
, Ребята, как я могу этот код мне возвращать только имя файла.
С помощью этого кода текущее он та меня, возвращая весь путь к файлу, например:
Файлы/IES.pptx
Мне нужно, чтобы он только возвращал имя или имя с расширением Ex:
IES или IES.pptx
Следующий код.
<?php
// Recupera a lista de todos os arquivos:
$itens = glob("arquivos/*");
// Ordena os arquivos pela data de modificacão:
usort($itens, function ($a, $b) { return filemtime($a) < filemtime($b); });
// Pega apenas os cinco últimos modificados:
$cont = array_slice($itens, 0, 5);
foreach ($cont as $arq )
echo "<a href= ".$arq." > ".$arq." </a><br>";
?>
3 answers
, basename
должны решить:
<?php
// Recupera a lista de todos os arquivos:
$itens = glob("arquivos/*");
// Ordena os arquivos pela data de modificacão:
usort($itens, function ($a, $b) {
return filemtime($a) < filemtime($b);
});
// Pega apenas os cinco últimos modificados:
$cont = array_slice($itens, 0, 5);
foreach ($cont as $arq) {
$nome = basename($arq);
echo '<a href="' . $arq . '"> '. $nome . '</a><br>';
}
(зависит от того, что вы хотите):
$nome = basename($arq);
echo '<a href="' . $nome . '"> '. $nome . '</a><br>';
, Если хотите, без расширения (если файлы, они все же формате):
<?php
// Recupera a lista de todos os arquivos:
$itens = glob("arquivos/*");
// Ordena os arquivos pela data de modificacão:
usort($itens, function ($a, $b) {
return filemtime($a) < filemtime($b);
});
// Pega apenas os cinco últimos modificados:
$cont = array_slice($itens, 0, 5);
foreach ($cont as $arq) {
$nome = basename($arq, '.pptx');
echo '<a href="' . $arq . '"> '. $nome . '</a><br>';
}
, Если у вас модули разнообразны:
<?php
// Recupera a lista de todos os arquivos:
$itens = glob("arquivos/*");
// Ordena os arquivos pela data de modificacão:
usort($itens, function ($a, $b) {
return filemtime($a) < filemtime($b);
});
// Pega apenas os cinco últimos modificados:
$cont = array_slice($itens, 0, 5);
foreach ($cont as $arq) {
$nome = pathinfo($arq, PATHINFO_FILENAME);
echo '<a href="' . $arq . '"> '. $nome . '</a><br>';
}
, Чтобы получить имя файла из полного пути:
$this_page = basename($_SERVER['REQUEST_URI']); // caminho e nome do arquivo
if (strpos($this_page, "?") !== false) $this_page = reset(explode("?", $this_page));
Вы Можете комбинировать strrchr(), который возвращает последнюю часть строки после разделителя (он входит вместе, как возвращение) trim()
удалить /
остатка.
$arr = array('public/html/p1/js/f.js', 'p2/main/file.txt', 'p3/readme.txt', 'pics/1.jpg');
foreach ($arr as $item) {
echo trim(strrchr($item, '/'), '/') .'<br>';
}
Выход:
f.js
file.txt
readme.txt
1.jpg
Другой вариант-это использовать функцию pathinfo(), второй аргумент говорит она возвращает только имя файла. Папка, имя и расширение без расширения и другие варианты.
foreach ($arr as $item) {
echo pathinfo($item, PATHINFO_BASENAME) .'<br>';
}