[英]return PHP data as JSON Object
我有一個 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';
}
}
職能
- 文檔名稱
- 文件大小
- 文件創建時間
將所有這些數據轉換為 JSON 格式的最佳方法是什么?
使用json_encode()
將 PHP 數組轉換為 JSON 數組
代碼示例
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_encode()
和json_decode()
有 2 個簡單的 json 函數
json_encode()
將 PHP 數組或對象轉換為 JSON 字符串,因此創建一個數組或對象以包含所有數據,然后將json_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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.