PHP动态库问题(PHP dynamic gallery problem)

2019-09-27 15:18发布

我试图创建一个动态的图片库脚本,使客户端,一旦我与该网站完成后,可以通过FTP上传图片,该网站会自动更新。 我使用的脚本我在这里找到,但我不能让它为我的生活工作。 PHP的写入信息,但从来没有真正写出来它应该在目录中找到图像。 不知道为什么。 演示在这里 ,你可以看到运行的代码(不PHP) 这里 。

<?php 
function getDirTree($dir,$p=true) {
    $d = dir($dir);$x=array();
    while (false !== ($r = $d->read())) {
        if($r!="."&&$r!=".."&&(($p==false&&is_dir($dir.$r))||$p==true)) {
                $x[$r] = (is_dir($dir.$r)?array():(is_file($dir.$r)?true:false));
        }
    }

    foreach ($x as $key => $value) {
        if (is_dir($dir.$key."/")) {
                $x[$key] = getDirTree($dir.$key."/",$p);
        }
    }

    ksort($x);
    return $x;
}
$path = "../images/bettydew/";
$tree = getDirTree($path);

echo '<ul class="gallery">';

foreach($tree as $element => $eval) {
    if (is_array($eval)) {
        foreach($eval as $file => $value) {
                if (strstr($file, "png")||strstr($file, "jpg")||strstr($file, "bmp")||strstr($file, "gif")) {
                        $item = $path.$file;
                        echo '<a href="javascript:void(0);"><img src="'.$item.'" alt="'.$item.'"/></a>';
                }
        }
    }
}

echo '</ul>';
?>

Answer 1:

路径问题,并在子目录递归问题。

也许试试这个:

<?php
$path = "./images/bettydew/";
$file_array = array ();
readThisDir ( $path, &$file_array );

echo '<ul class="gallery">';
foreach ( $file_array as $file )
{
  if (strstr($file, "png")||strstr($file, "jpg")||strstr($file, "bmp")||strstr($file, "gif"))
  {
  list($width, $height) = getimagesize($file);
  echo '<li><a href="javascript:void(0);"><img src="'.$file.'" width="'.$width.'" height="'.$height.'" alt="'.$file.'"/></a></li>';
  }
}
echo '</ul>';

  function readThisDir ( $path, $arr )
  {
    if ($handle = opendir($path)) 
    {
        while (false !== ($file = readdir($handle))) 
        {
            if ($file != "." && $file != "..") 
            {
              if (is_dir ( $path."/".$file ))
              {
                readThisDir ($path."/".$file, &$arr);
              } else {
                $arr[] = $path."/".$file;
              }  
            }
        }
        closedir($handle);
    }
  }
?>


Answer 2:

无论你的路径是错误的...当我喂错路到$ PATH变量就引起了我类似的错误。

或者你没有在该目录读权限...检查权限太

请记住你的路径的末尾来检查“/”因为没有它你的代码不能做孩子目录内递归搜索...

最后你的代码不会给子目录的,而写的输出文件的正确文件路径......所以检查太...



文章来源: PHP dynamic gallery problem