很抱歉,如果我的问题是基本的,因为我不熟悉php和json。我创建了一个php文件,列出了我服务器上的目录,并将结果打印为JSON。那么,我该怎么做呢?
以下是我在目录中列出文件的代码:
<?php
$dir = "picture/";
if(is_dir($dir)){
if($dh = opendir($dir)){
while(($file = readdir($dh)) != false){
if($file == "." or $file == ".."){
} else {
echo $file."<br />";
//echo json_encode($file);
}
}
}
}
?>
感谢您的回复......
答案 0 :(得分:6)
也许尝试这样的事情?
<?php
$dir = "picture/";
$return_array = array();
if(is_dir($dir)){
if($dh = opendir($dir)){
while(($file = readdir($dh)) != false){
if($file == "." or $file == ".."){
} else {
$return_array[] = $file; // Add the file to the array
}
}
}
echo json_encode($return_array);
}
?>
答案 1 :(得分:5)
我修改了Francisco的代码:
<?php
header('Content-Type: application/json');
$dir = "./"; //path
$list = array(); //main array
if(is_dir($dir)){
if($dh = opendir($dir)){
while(($file = readdir($dh)) != false){
if($file == "." or $file == ".."){
//...
} else { //create object with two fields
$list3 = array(
'file' => $file,
'size' => filesize($file));
array_push($list, $list3);
}
}
}
$return_array = array('files'=> $list);
echo json_encode($return_array);
}
?>
结果:
{
"files": [{
"file": "element1.txt",
"size": 10
}, {
"file": "element2.txt",
"size": 10
}
]
}
答案 2 :(得分:3)
您可以使用此代码命名数组并设置相同的密钥:
<?php
$dir = "../uploads";
if(is_dir($dir)){
if($dh = opendir($dir)){
while(($file = readdir($dh)) != false){
if($file != "." and $file != ".."){
$files_array[] = array('file' => $file); // Add the file to the array
}
}
}
$return_array =array('name_array' => $files_array);
exit (json_encode($return_array));
}
?>