Хорошо, ребята, я немного не понимаю, как настроить свой код. До сих пор у меня есть код для чтения любого файла JSON в каталоге, его синтаксического анализа и помещения в таблицу - отлично работает, поскольку я использовал только 1 файл JSON на строку таблицы.
Теперь мне нужно сделать следующее: каждый IP-адрес, который у меня есть, теперь дает мне 3 файла JSON, которые помещаются в папку с IP-адресом в качестве имени. В моем основном каталоге у меня будет много папок, в каждой по 3 файла JSON.
Я хочу прочитать каждый файл в каждой папке, поместить информацию, которую я анализирую, в таблицу, а затем перейти к следующей папке в виде новой строки и сделать то же самое.
FOR REFERENCE::
Current file layout:
FOLDER-->JSON
-->JSON
-->JSON
New file layout:
FOLDER-->IPADDRESS-->JSONFILE1
-->JSONFILE2
-->JSONFILE3
-->IPADDRESS2-->JSONFILE1
--JSONFILE2
-->JSONFILE3
Текущий код для чтения любого файла JSON в каталоге:
$dir = "my dir";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
foreach(glob("*_name.json") as $filename) {
$data = file_get_contents($filename);
$testing = json_decode($data, true);
echo "<tr>";
echo "<td>{$filename }</td>";
foreach($testing[0] as $row) {
// code for parsing here ...
}
}
}
}
здесь вы используете класс RecursiveIteratorIterator
function Get_Files()
{
$dir = "my_dir";
$init = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
$files = array();
foreach ($init as $file) {
if ($file->isDir()) {
continue;
}
$files[] = $file->getPathname();
}
return $files;
}
foreach (Get_Files() as $file) {
$data = file_get_contents($file);
$testing = json_decode($data, true);
echo "<tr>";
echo "<td>{$file}</td></tr>";
}
выход:
my_dir\192.168.0.1\JSONFILE1.json
my_dir\192.168.0.1\JSONFILE2.json