如何编写PHP代码从目录扫描输出JSON?

如何编写PHP代码从目录扫描输出JSON?,php,json,Php,Json,需要扫描“Pictures”目录,并以JSON格式列出所有文件夹名称、每个文件夹中的图像数、文件夹中任何php文件的realpath以及文件夹的上次修改日期。如果有人能帮忙,请。JSON格式如下所示 [ { "id":"1", "name":"Folder1", "images":"15", "url": "http://website.com/Picturs/file.php", "uploaddate": "08/20/2

需要扫描“Pictures”目录,并以JSON格式列出所有文件夹名称、每个文件夹中的图像数、文件夹中任何php文件的realpath以及文件夹的上次修改日期。如果有人能帮忙,请。JSON格式如下所示

[
    {
      "id":"1",
      "name":"Folder1",
      "images":"15",
      "url": "http://website.com/Picturs/file.php", 
      "uploaddate": "08/20/2011" 
    },
    {
      "id":"2",
      "name":"Folder2",
      "images":"25",
      "url": "http://website.com/Picturs/file.php", 
      "uploaddate": "08/31/2011" 
    },
    {
      "id":"3",
      "name":"Folder3",
      "images":"13",
      "url": "http://website.com/Picturs/file.php", 
      "uploaddate": "09/20/2011" 
    }
]
我要做的是在Pictures目录中获取目录列表,每个目录都有一个php文件,其中包含该特定目录中所有图像的realpath。 正在尝试为iOS完成照片应用程序。在这里,我列出了这个文件中的相册,每个文件夹中的php将用于向UICollectionView提供数据

这是我目前的代码:

<?php
$directoryToScan = "*";

$json_array = array();

// Open a known directory, and proceed to read its contents
foreach(glob($directoryToScan, GLOB_ONLYDIR) as $folders) 
{

    //get total number of jpg files in each folder
    $num_files = count(glob("$folders/*.jpg"));


    //find a php file in each folder and get its realpath
    foreach (glob("$folders/*.json") as $filename) {

        //echo "$filename size " . filesize($filename) . "\n";
        $phpfile = realpath($filename);
        //echo $phpfile;
    }

    //get date on which each folder was created.
    $fileDate = date("mdY", filectime($folders));   

    $json_Array[] = array('name'=>$folders,'images'=>$num_files,'url'=>$phpfile,'uploaddate'=>$fileDate);

}

echo(json_encode($json_Array));

?>

安装
”http://www.website.com/Pictures/image_001.jpg“

让它工作了。多亏了Stackoverflow

<?php
$directoryToScan = "*";

define('WEBSITE', "http://www.website.com/pictures/");

$json_array = array();

// Open a known directory, and proceed to read its contents
foreach(glob($directoryToScan, GLOB_ONLYDIR) as $folders) 
{
    //get total number of jpg files in each folder
    $num_files = count(glob("$folders/*.jpg"));
    $totalFiles = (string)$num_files;

    //find a php file in each folder and get its realpath
    foreach (glob("$folders/*.json") as $filename) {

        $turl = WEBSITE.$filename;
        $url = str_replace("\/", "\\", $turl);
        //echo($url);
    }

    //get date on which each folder was created.
    $fileDate = date("mdY", filectime($folders));   

    $json_Array[] = array('name'=>$folders,'images'=>$num_files,'url'=>$url,'uploaddate'=>$fileDate);

}

echo(json_encode($json_Array));

?>

对我来说,从Hitz更改代码很有效

<?php
$directoryToScan = "images/portfolio";

define('WEBSITE', "http://site.com.br/");

$json_array = array();

// Open a known directory, and proceed to read its contents
foreach(glob($directoryToScan, GLOB_ONLYDIR) as $folders) 
{
    //get total number of jpg files in each folder
    $num_files = count(glob("$folders/*.jpg"));
    $totalFiles = (string)$num_files;
    //echo $totalFiles;

    foreach (glob("$folders/*.jpg") as $filename) {

        $turl = WEBSITE.$filename;
        $url = str_replace("\/", "\\", $turl);
        //echo($url);

        //get date on which each folder was created.
        $fileDate = date("mdY", filectime($folders));   

        $json_Array[$filename] = array('name'=>$folders,'images'=>$num_files,'url'=>$url,'uploaddate'=>$fileDate);
    }


}

echo(json_encode($json_Array));

?>

你的密码在哪里?您在使用任何特定部分时遇到问题吗?请给出file.php上的代码,并进一步解释您需要做什么。你扫描图像是什么意思?我已经更新了这个问题,希望我所做的是有意义的。
<?php
$directoryToScan = "images/portfolio";

define('WEBSITE', "http://site.com.br/");

$json_array = array();

// Open a known directory, and proceed to read its contents
foreach(glob($directoryToScan, GLOB_ONLYDIR) as $folders) 
{
    //get total number of jpg files in each folder
    $num_files = count(glob("$folders/*.jpg"));
    $totalFiles = (string)$num_files;
    //echo $totalFiles;

    foreach (glob("$folders/*.jpg") as $filename) {

        $turl = WEBSITE.$filename;
        $url = str_replace("\/", "\\", $turl);
        //echo($url);

        //get date on which each folder was created.
        $fileDate = date("mdY", filectime($folders));   

        $json_Array[$filename] = array('name'=>$folders,'images'=>$num_files,'url'=>$url,'uploaddate'=>$fileDate);
    }


}

echo(json_encode($json_Array));

?>
{
    "images/portfolio/01-grande.jpg": {
        "name": "images/portfolio",
        "images": 16,
        "url": "http:/site.com.br/images/portfolio/01-grande.jpg",
        "uploaddate": "03222019"
    },
    "images/portfolio/01-pequena.jpg": {
        "name": "images/portfolio",
        "images": 16,
        "url": "http:/site.com.br/images/portfolio/01-pequena.jpg",
        "uploaddate": "03222019"
    },
    "images/portfolio/02-grande.jpg": {
        "name": "images/portfolio",
        "images": 16,
        "url": "http:/site.com.br/images/portfolio/02-grande.jpg",
        "uploaddate": "03222019"
    }
}