Javascript 将PHP数据作为JSON对象返回

Javascript 将PHP数据作为JSON对象返回,javascript,php,json,getjson,Javascript,Php,Json,Getjson,我有一个PHP脚本,它必须为特定目录中包含的所有文件返回3个内容 文件名 文件大小 文件创建时间 我能够为每个文件回显这三个值,但我希望以JSON格式返回所有这些数据。将所有这些数据转换为JSON格式的最佳方式是什么 function listAllFiles($dir) { $format = "d/m/y h:m"; $filesInfo; if (is_dir($dir)) { if ($dh = opendir($dir))

我有一个PHP脚本,它必须为特定目录中包含的所有文件返回3个内容

  • 文件名
  • 文件大小
  • 文件创建时间
  • 我能够为每个文件回显这三个值,但我希望以JSON格式返回所有这些数据。将所有这些数据转换为JSON格式的最佳方式是什么

    function listAllFiles($dir)
    {
        $format = "d/m/y h:m";
        $filesInfo;
        if (is_dir($dir))
       {
            if ($dh = opendir($dir))
            {
                while (($file = readdir($dh)) !== false)
               {
                   if ($file != "." && $file != "..") 
                   {   
                       echo findFileSize($dir.'/'.$file)."      ".date($format, filemtime($dir.'/'.$file))."     ";
                       echo $file.'<br>';
    
                   }     
    
               } 
             }
         closedir($dh);
    
    
       }
        else {
           print 'folder not found';
        }
    }
    
    函数listAllFiles($dir)
    {
    $format=“d/m/y h:m”;
    $filesInfo;
    if(is_dir($dir))
    {
    如果($dh=opendir($dir))
    {
    while(($file=readdir($dh))!==false)
    {
    如果($file!=“&&&$file!=”)
    {   
    echo findFileSize($dir./'.$file)。“.date($format,filemtime($dir./'.$file))”;
    回显$file.“
    ”; } } } closedir($dh); } 否则{ 打印“未找到文件夹”; } }
    功能

  • 文件名
  • 文件大小
  • 文件创建时间
  • 将所有这些数据转换为JSON格式的最佳方式是什么

    function listAllFiles($dir)
    {
        $format = "d/m/y h:m";
        $filesInfo;
        if (is_dir($dir))
       {
            if ($dh = opendir($dir))
            {
                while (($file = readdir($dh)) !== false)
               {
                   if ($file != "." && $file != "..") 
                   {   
                       echo findFileSize($dir.'/'.$file)."      ".date($format, filemtime($dir.'/'.$file))."     ";
                       echo $file.'<br>';
    
                   }     
    
               } 
             }
         closedir($dh);
    
    
       }
        else {
           print 'folder not found';
        }
    }
    

    代码示例

    function listAllFiles($dir){
        if(!isdir($dir)) { print "Folder not found"; return; }
    
        $files = glob($dir);
        $arr = array();
        foreach($files as $file){
            $file = array();
    
            //Get filename
            $file["name"] = $file;
    
            //Get filesize
            $file["size"]= filesize($file);
    
            //Get file creation time
            $file["creation_time"] = filectime($file);
    
            array_push($arr, $file);
        }
    
        $json = json_encode($arr);
        return $json;
    }
    
    echo listAllFiles("/folder/");
    

    PHP中有两个简单的json函数
    json\u encode()
    json\u decode()

    json\u encode()
    将PHP数组或对象转换为json字符串,因此创建一个数组或对象以包含所有数据,然后将
    json\u encode()的结果回显到调用应用程序

    function listAllFiles($dir) {
    
        $results = array();
        $results['error'] = false;
    
        $format = "d/m/y h:m";
        $filesInfo;
        if (is_dir($dir)) {
            if ($dh = opendir($dir)) {
                while (($file = readdir($dh)) !== false) {
                   if ($file != "." && $file != "..") {   
    
                       // create an object to hold data for this file
                       $o = new stdClass();
                       $o->filesize = findFileSize($dir.'/'.$file)
                       $o->filedate = date($format, filemtime($dir.'/'.$file));
                       $o->filename = $file;
    
                       // put this object into the results array
                       $results[] = $o;
                   }     
                } 
            }
            closedir($dh);
       } else {
           $results['error'] = true;
           $results['err_msg'] = 'folder not found';
        }
    
        return $results;
    }
    
    
    $result = listAllFiles('a/b/c');
    echo json_encode($result);
    

    最好的方法是使用,但您是如何获得这些数据元素的呢?1)向我们展示您迄今为止所做的尝试。2) 显示代码3)您有没有尝试过在json对象中使用类似Google的PHP脚本?我已经添加了PHP代码…构建一个值数组,而不是重复它们。。。。。json_将该数组编码为一个字符串,然后将该字符串回显到前端。我建议为每个文件使用一个带有枚举项的2d数组,并将文件详细信息(名称/大小/日期/等)关联起来