在index.php
虽然名称可以是任何内容,但我现在在顶部有一个数组,仅用于测试目的。
<?php
$settings = array(
enabled => true,
id => "KMS",
theme=>"kms_standard",
);
?>
我开始将其用作在CMS表中使用的信息。基本上我正在扫描主目录中的页面和其他目录。然后我将li
回显到&#34;表&#34;显示信息虽然我需要更多的信息,而不仅仅是它创建/编辑的日期。
EX:
Page Name | Identifier | Status | Theme | Created/Edited
index.php CMS Enabled Dark 12/12/12 12:00
要获取创建/编辑的日期,请使用date('l jS \of F Y h:i:s A',filemtime('../'.$page))
有没有办法为文档设置这样的数据然后得到它,如果不是如何在不包含整个文件的每个循环中使用数组。我相信如果我include($file)
它将解析所有HTML和PHP,但我只需要该页面中的$settings
变量。我希望我能让自己清楚明白。如果不是下面的例子
function is_dir_empty($dir) {
if (!is_readable($dir)) return NULL;
$handle = opendir($dir);
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
return FALSE;
}
}
return TRUE;
}
$pages = scandir('../',0);
foreach($pages as $page){
if(is_dir('../'.$page) && !is_dir_empty('../'.$page)){
//iterate deeper to get these files as well
}elseif(!is_dir('../'.$page)){
$file = get_file('../'.$page);//basically get the array of information some how
echo '<div class="row" id="'.removeExtensions($page).'"><ul>'.
'<li class="fifths"><div class="checkbox_container">'.
'<input type="checkbox" id="'.$kpage.'_check" value="'.$page.'" class="checkbox" name="delete_page[]" />'.
'<label for="'.$kpage.'_check"><span></span></label></div>'.$kpage.'</li>'.
'<li class="fifths">'.$file['id'].'</li>'.
'<li class="fifths">'.$file['enabled'].'</li>'.
'<li class="fifths">'.$file['theme'].'</li>'.
'<li class="fifths" title="'.date('l jS \of F Y h:i:s A',filemtime('../'.$page)).'">'.date('l jS \of F Y h:i:s A',filemtime('../'.$page)).'</li></ul></div>';
}
}
更新未来参考资料 这完美无缺
JSON
{
"index.php":{
"enabled":"true",
"theme":"dark",
"identifier":"KMS"
}
}
仪表板
$jsona = file_get_contents("../pages.json");
$jsonb = json_decode($jsona,true);
$data = $jsonb['pages'];
答案 0 :(得分:1)
有没有办法为文档设置这样的数据然后得到它,如果不是如何在不包含整个文件的每个循环中使用数组。我相信如果我包含($ file)它将解析所有HTML和PHP,但我只需要该页面中的$ settings变量。
通常应使用您不希望使用的include
来包含代码。由于您的$settings
变量是PHP代码,我建议仍然使用该方法。
包含文件的任何其他方式仍然涉及读取文件,然后从中解析所需的内容,这反过来可能比使用包含更多的资源。当您包含一个文件时,您将获得包含它的文件所有可用的PHP代码。
但是对于这种情况,最好将数据存储在数据库或至少一个文本格式文件中,然后为您的目的解析该文件。如果您只需从中获取一些静态数据,则无需处理整个文件。您可以将数据存储为XML或JSON以便于操作,而不必使用普通字符串。
至于编辑中的代码。
if(isset($_GET['data'])){
$settings = array(
enabled => true,
id => "KMS",
layout=>"kms_standard",
);
return $settings;
exit();
}
PHP中的 return
对HTTP请求没有意义。这不会输出任何内容,你的cURL也不会得到任何回复。您的$settings
数组必须打印在页面上。现在问题是如何打印数组并以可用的格式输出。那些像JSON或XML这样的常见格式变得更加重要的地方。当你可以简单地使用一些原生方法时,你不想使用字符串操作来读取数组。