So I’m trying to create an open source file manager with php using ajax requests and, when i use json_encode my json response gets a close bracket for each array key.
This is the code (PHP):
JavaScript
x
<?php
$fileDirectory = "files/";
$fileArray = array_slice(scandir("$fileDirectory"), 3);
$fileSizeArray = array();
foreach($fileArray as $File){
$fileSizeArray[$File] = filesize($fileDirectory.$File);
}
foreach($fileSizeArray as $File => $fileSize){
echo json_encode ([
$filesResponseArray[] = array(
'fileName' => $File,
'fileSize' => $fileSize
)
]);
}
and this is the result:
JavaScript
[{"fileName":"61177d35527fd_w68FQFb.png","fileSize":10752}][{"fileName":"611780a39307c_1152265.jpg","fileSize":1383556}]
and i need this result
JavaScript
[{"fileName":"61177d35527fd_w68FQFb.png","fileSize":10752},{"fileName":"611780a39307c_1152265.jpg","fileSize":1383556}]
Advertisement
Answer
You encode to quickly. Try this:
JavaScript
<?php
$fileDirectory = "files/";
$fileArray = array_slice(scandir("$fileDirectory"), 3);
$fileSizeArray = array();
foreach($fileArray as $File){
$fileSizeArray[$File] = filesize($fileDirectory.$File);
}
foreach($fileSizeArray as $File => $fileSize){
$filesResponseArray[] = array(
'fileName' => $File,
'fileSize' => $fileSize
);
}
echo json_encode($filesResponseArray);