【问题标题】:Php image basenamePhp image basename
【发布时间】:2013-10-14 19:42:21
【问题描述】:

我是 php 新手。我找到了一段从文件夹中获取所有图像的代码。这部分有效。但现在我想在图像下方回显不带扩展名的文件名,在同一个 .我读过一些关于基本名称和路径的内容,但我没有正确理解......

这行得通:

<?php
$files = glob("images/*.*");
for ($i=1; $i<count($files); $i++)
{
$num = $files[$i];
echo '<div class="imgholder"><img src="'.$num.'" class="loadedimg"></div>';
}
?>

我尝试过的(但没有用):

<?php
$path = glob("images/*.*");
$files = glob("images/*.*");
for ($i=1; $i<count($files); $i++)
{
$num = $files[$i];
echo '<div class="imgholder"><img src="'.$num.'" class="loadedimg">';

echo basename($path,".jpg");
echo"</div>";
}
?>

我在网页上收到此错误:basename() 期望参数 1 为字符串,数组在 .../imgloader.php 中给出

【问题讨论】:

  • 正如它所说的 $path 是一个数组

标签: php image filenames


【解决方案1】:

正如错误提示的那样,您尝试使用数组作为basename() 的第一个参数。

你可能想要这个:

echo basename($num, '.jpg");

我建议在您的代码中使用更具描述性的变量名称:

$files = glob("images/*.*");
for ($i=1; $i<count($files); $i++)
{
    $img = $files[$i];
    echo '<div class="imgholder"><img src="'.$img.'" class="loadedimg">';
    echo basename($img,".jpg");
    echo"</div>";
}

不过,我认为最好改用foreach 循环。可以去掉count()的赋值,也不需要声明临时变量:

foreach (glob("images/*.*") as $img) {
    echo '<div class="imgholder"><img src="'.$img.'" class="loadedimg">';
    echo basename($img,".jpg");
    echo"</div>";
}

basename() 中的第二个参数是可选的,仅当您想获取带有.jpg 扩展名的图像的尾随组件时才需要。

【讨论】:

  • 这正是我想要的。非常感谢!
【解决方案2】:

使用 foreach 循环...

foreach ($path as $p)
    {
    echo basename($p, ".jpg");
    }

您定义为 $path 的是一个路径数组,为了清楚起见,可能会更改其名称。

【讨论】:

    【解决方案3】:

    这是因为您必须显示当前元素。试试:

    basename($files[$i]);
    

    【讨论】:

      【解决方案4】:

      如果与传递的不同,basename() 仍然具有扩展名。

      foreach(glob("images/*.*") as $file) {
          echo '<div class="imgholder"><img src="'.pathinfo($file, PATHINFO_FILENAME).'" class="loadedimg"></div>';
      }
      

      另外,如果你只想要 jpg 然后 glob() on *.jpg。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-24
        • 2020-12-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-23
        • 2014-03-07
        • 1970-01-01
        • 2017-12-29
        相关资源
        最近更新 更多