Удаление расширения файла в PHP, а также создание ссылки - PullRequest
0 голосов
/ 18 марта 2011

У меня есть этот код, который берет имя файла в каталоге и затем создает ссылку на эти файлы. Однако текст в ссылке имеет расширение файла в конце. Я хочу удалить это, но в то же время сохранить правильную ссылку на файл, т. Е. HTML-ссылке необходимо расширение, чтобы остаться на нем, например:

<a href="/documents/other/file.pdf">File</a>

Так вот мой сценарий:

$linkdir="documents/other";
$dir=opendir("documents/other");

$files=array();

while (($file=readdir($dir)) !== false)
{
   if ($file != "." and $file != ".." and $file != "index.php")
   { 
    array_push($files, $file);
   }
}

natcasesort($files);
$files=array_reverse($files);

foreach ($files as $file)
print "<li><a href='/$linkdir/$file' rel='external'>$file</a></li>";

Вот код, который мне нужно интегрировать, чтобы удалить расширение файла:

  $name = substr($file, 0, strrpos($file, '.'));

Любая помощь с этим будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Можете ли вы сказать, что хотите этого?

foreach ($files as $file){
    $name = substr($file, 0, strrpos($file, '.'));
    print "<li><a href='/$linkdir/$file' rel='external'>$name</a></li>";
}

Я не могу найти другой вопрос в вашем сообщении:)

1 голос
/ 18 марта 2011

Использование pathinfo() является более надежным решением, если некоторые файлы имеют имя с несколькими точками (например, someclass.inc.php):

$parts = pathinfo($file);
$name  = $parts['basename'];
...