检查文件夹中的所有图像并将第一个图像存储到阵列

时间:2016-11-19 14:05:49

标签: php

public function set_array($set_value) {
  /*set empty class*/
  $tempclass = new stdClass();

  /*full Image path src*/
  $search_dir = "/domain/img/company/Image1-000000-016";

  /*open dir*/
  $images = glob("$search_dir/*.*");
  sort($images);

  /*loop thought dir and get first Image*/
  if (count($images) > 0) {
  /*get product imagepath and set as src*/
  $tempclass->src = $images[0];

  /*return all data to array*/
  $this->Imagedata[] = clone($tempclass);
  }

}

我的意图是检查我的文件夹图像并将第一张图像存储到Imagedata[],但我一直检查Imagedata[]是否为空,我不知道为什么。我也检查了文件夹路径,这是正确的,所以我做错了什么?

2 个答案:

答案 0 :(得分:1)

编辑问题后:

我认为在目录中获取文件的最佳方法是:

$directory = "/domain/img/company/Image1-000000-016";
$images = scandir ($directory);
$firstImage = $directory . $files[2];


//$tempclass->src = $firstImage;

如果这不起作用,请检查目录权限并检查是否存在?

旧答案:

你正在做一些小错误!根本没有$ images变量!我想:

if (count($images) > 0) {
   $tempclass->src = $images[0];
   //....
}

必须:

if (count($files) > 0) {
   $tempclass->src = $files[0];
   //....
}

答案 1 :(得分:0)

可能是因为您将文件存储在$files变量中,然后检查未定义的$images变量?

我真的建议你花点时间在你的PHP环境中打开E_NOTICE错误,它们可以帮助你解决这类错误(它适用于所有人)