написали класс, который использует встроенную функцию PHP DirectoryIterator который показывает структуру папок, подобную этой
root
|__subfolder
| |_mp3
| |_png
|__subfolder2
|_mp3
|_mp3
Вот мой класс
<?php
$list = array();
$dir = new DirectoryIterator('/opt/lampp');
foreach ($dir as $fileinfo)
{
if ($fileinfo->isFile())
{
//echo $fileinfo->getBasename() . "\n";
//echo $fileinfo->getBasename('.jpg') . "\n";
}
else
{ //create object with two fields
$list3 = array( 'name'=> $fileinfo->getFilename(),
'type'=> $fileinfo->getType(),
'date'=> $fileinfo->getMTime(),
'size'=> $fileinfo->getSize());
array_push($list, $list3);
}
$return_array = array('files'=>$list);
echo json_encode( $return_array)
}
?>
написали echo json_encode, но формат строки, похоже, написан неправильно
вот представление строкового формата вывода, я использую онлайн-просмотрщик json для проверки
{"files":[{"name":"info","type":"dir","date":1491647493,"size":4096}]} {"files":[{"name":"info","type":"dir","date":1491647493,"size":4096},{"name":"pear","type":"dir","date":1491647422,"size":4096}]}{"files":[{"name":"info","type":"dir","date":1491647493,"size":4096},{"name":"pear","type":"dir","date":1491647422,"size":4096},
@JimL, спасибо за ответ, как я могу заархивировать это, я новичок в json ...?
@MunimMunna, спасибо за ответ, где мне не хватает запятых? Помогите мне понять
Моя ошибка, у вас не пропущены запятые, но вы кодируете подпапки, то есть $list_array, вам нужно вставить все $return_array в массив $list, а затем закодировать массив $list за пределами for-loop внизу.






использовать json_encode()
<?php
$list = array();
$dir = new DirectoryIterator('/opt/lampp');
foreach ($dir as $fileinfo)
{
if ($fileinfo->isFile())
{
//echo $fileinfo->getBasename() . "\n";
//echo $fileinfo->getBasename('.jpg') . "\n";
}
else
{ //create object with two fields
$list3 = array( 'name'=> $fileinfo->getFilename(),
'type'=> $fileinfo->getType(),
'date'=> $fileinfo->getMTime(),
'size'=> $fileinfo->getSize());
array_push($list, $list3);
}
$return_array = array('files'=>$list);
echo json_encode($return_array);
}
?>
@Hassan, спасибо за ваш ответ, строки, возвращенные json_encode ($ return_array), неправильно отформатированы как строка json
в каком формате вы можете показать мне, какой формат вы хотите
спасибо за ваш ответ, формат, который мне нужен, это {"data": [{"data": "audio", "children": [{"data": {"title": "juicy.mp3"}, "attr ": {" href ":" audio / juicy.mp3 "," id ":" 1239 "}," icon ":" images \ /mp3-icon.gif "},
теперь, какой формат типа вы получаете для этого json_encode ($ return_array)
{"data": [{"name": "info", "type": "dir", "date": 1491647493, "size": 4096}]} {"data": [{" name" : "info", "type": "dir", "date": 1491647 493, "size": 4096},
Приходите правильно увидеть ключи и значения массива списка
когда я тестирую его с помощью онлайн-просмотра json, он говорит неправильный формат ...? помогите мне понять
используйте json_encode, чтобы преобразовать его в json: D