1

我有一个名为“文件名”的表。我尝试<a>像这样在循环中输出标签:

<?php

while($sermon = mysql_fetch_assoc($sermonsQ)) {
    echo '<a href="admin/'. $sermon ['filename'] . '">';
    echo 'download</a></td>';
}

当前的问题是,它$sermon['filename']包含一个领先的路径,如path/test.mp3. 但我只需要没有路径的文件名,比如test.mp3. 我怎样才能做到这一点?

4

3 回答 3

5

为此使用basename()。它将返回没有前导路径的文件名:

basename($sermon ['filename'])
于 2013-05-08T10:46:26.907 回答
0

您可以使用path_info()

<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>

mysql_* 函数也已弃用,因此您不应将它们用于例如 PDO 或 mysqli

于 2013-05-08T10:50:17.697 回答
0
<?php

while($sermon = mysql_fetch_assoc($sermonsQ)) {
    $filename = explode('/',$sermon ['filename']);
    echo '<a href="admin/'. $filename[1] . '">';
    echo 'download</a></td>';
}
于 2013-05-08T11:21:33.900 回答