【问题标题】:Showing files in their perspective types in an html file through scandir function in php通过php中的scandir函数在html文件中显示文件的透视类型
【发布时间】:2014-09-27 12:37:23
【问题描述】:

我试图通过 scandir 函数显示目录中的所有图像,但我只得到每个文件名的第一个字母而不是全名来显示图片:

<?php
$path    = 'images/';
$files = scandir($path);
foreach ($files as $file) {
$x = 0;
$x_new = $x++;
echo "<img src='images/".$file[$x_new]."' >";
} 
?>

我得到的结果是:

<img src='images/.' >
<img src='images/.' >
<img src='images/J' >
<img src='images/J' >
<img src='images/i' >

做一个 var dump 给我这个:

array(5) { [0]=&gt; string(1) "." [1]=&gt; string(2) ".." [2]=&gt; string(17) "Job Board New.png" [3]=&gt; string(13) "Job Board.png" [4]=&gt; string(9) "index.jpg" }

另外,数组中有两个 ... 元素我的目录中没有任何具有这些名称的文件,那么它们到底是什么?

如果你们以正确的方式指导我,那就太好了..!

另外我怎样才能获得文件的扩展名,然后使用函数做不同的事情..!

【问题讨论】:

    标签: php html scandir


    【解决方案1】:

    使用trim() 删除.,也使用$file 代替$file[$x_new]。这里的例子...

    foreach ($files as $file) {
        $name = trim($file, ' .');
        if($name){
            echo "<img src='images/".$name."' >";
        }
    }
    

    【讨论】:

      【解决方案2】:

      '.' directory 表示当前目录。 '..' 目录表示当前目录的父目录。 这在 UNIX、LINUX 和 Windows 下很常见。

      使用 pathinfo 读取有关文件及其类型的信息。数组索引扩展名给出了文件的扩展名。

      $path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
      echo $path_parts['basename'], "\n";
      echo $path_parts['extension'], "\n";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-06
        • 2012-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多