我有一个像这样的Javascript对象:
var count = { table:19, people:39, places_details:84, story_1:18, story_2:6, story_3:11 }
每个项目(表格,人员等)都是站点根目录 我的graphics/
目录中的目录 。我想使用PHP通过计算相应目录中的JPG图像来提供数值。我想象这样的事情:
ar count = { table: <?php count(dir("table")) ?>, people: <?php count(dir("people")) ?>, places_details: <?php count(dir("places_details")) ?>, story_1: <?php count(dir("story_1")) ?>, story_2: <?php count(dir("story_2")) ?>, story_3:<?php count(dir("story_3")) ?> }
但需要过滤JPG并返回一个数字。什么是正确的代码?
答案 0 :(得分:11)
答案 1 :(得分:1)
您只需使用glob()功能检索以.jpg
结尾的所有文件名并计算它们。
如果你想确保这些是真正的JPEG文件,你必须检查它们。 G。与finfo_file()。
答案 2 :(得分:0)
function get_dir_structure($path, $recursive = TRUE, $ext = NULL)
{
$return = NULL;
if (!is_dir($path))
{
trigger_error('$path is not a directory!', E_USER_WARNING);
return FALSE;
}
if ($handle = opendir($path))
{
while (FALSE !== ($item = readdir($handle)))
{
if ($item != '.' && $item != '..')
{
if (is_dir($path . $item))
{
if ($recursive)
{
$return[$item] = get_dir_structure($path . $item . '/', $recursive, $ext);
}
else
{
$return[$item] = array();
}
}
else
{
if ($ext != null && strrpos($item, $ext) !== FALSE)
{
$return[] = $item;
}
}
}
}
closedir($handle);
}
return $return;
}
使用该功能执行此操作:
ar count = {
table: <?php echo count(get_dir_structure("./graphics/table/", FALSE, '.jpg')) ?>,
people: <?php echo count(get_dir_structure("./graphics/people/", FALSE, '.jpg')) ?>,
places_details: <?php echo count(get_dir_structure("./graphics/places_details/", FALSE, '.jpg')) ?>,
story_1: <?php echo count(get_dir_structure("./graphics/story_1/", FALSE, '.jpg')) ?>,
story_2: <?php echo count(get_dir_structure("./graphics/story_2/", FALSE, '.jpg')) ?>,
story_3: <?php echo count(get_dir_structure("./graphics/story_3/", FALSE, '.jpg')) ?>
}