На хостинге есть папка, в которой есть другие папки с аудио. Нужно в json файле получить список файлов в таком виде:
{
"audios": [
{
"id": 1,
"folder": "site_music/Папка1",
"audio": "Аудио1.mp3",
"url": "https://site.ru/site_music/Папка1/Аудио1.mp3"
},
{
"id": 2,
"folder": "site_music/Папка1",
"audio": "Аудио2.mp3",
"url": "https://site.ru/site_music/Папка1/Аудио2.mp3"
},
{
"id": 3,
"folder": "site_music/Папка2",
"audio": "Аудио1.mp3",
"url": "https://site.ru/site_music/Папка2/Аудио1.mp3"
}
]
}
Есть скрипт, который возвращает json, но он немножко не в том, виде что нужно.
Вот скрипт:
<?php
$mp3_arr = array();
$dirs = glob($somePath . 'site_music/*' , GLOB_ONLYDIR);
$id = 1;
foreach($dirs as $dir) {
if (is_dir($dir))
{
if ($handle = opendir($dir))
{
while(($file = readdir($handle)) != false)
{
if ($file!="."&&$file!=".."){
$mp3_arr['audios'][$id]["id"] = $id;
$mp3_arr['audios'][$id]["folder"] = $dir;
$mp3_arr['audios'][$id]["audio"] = $file;
$mp3_arr['audios'][$id]["url"] = "https://site.ru/".$dir."/".$file;
$id++;
}
}
closedir($handle);
}
}
}
$mp3_json = json_encode($mp3_arr);
print_r($mp3_json);
?>
Вот результат как возвращается json:
{
"audios": {
"1": {
"id": 1,
"folder": "site_music/Папка1",
"audio": "Аудио1.mp3",
"url": "https://site.ru/site_music/Папка1/Аудио1.mp3"
},
"2": {
"id": 2,
"folder": "site_music/Папка1",
"audio": "Аудио2.mp3",
"url": "https://site.ru/site_music/Папка1/Аудио2.mp3"
},
"3": {
"id": 3,
"folder": "site_music/Папка2",
"audio": "Аудио1.mp3",
"url": "https://site.ru/site_music/Папка2/Аудио1.mp3"
}
}
}
Как сделать так, чтобы возвращался json как в первом варианте?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как обновить маркер доступа (с помощью маркера обновления) и загрузить видео на youtube?