Php 获取页面信息,而不是整个页面
在Php 获取页面信息,而不是整个页面,php,variables,ob-start,Php,Variables,Ob Start,在index.php中,虽然名称可以是任何名称,但我现在在最上面有一个数组,只是为了测试 <?php $settings = array( enabled => true, id => "KMS", theme=>"kms_standard", ); ?> 要获取创建/编辑的日期,我使用date('l jS\of F Y h:I:sa',filemtime('../'.$page)) 有没有一种方法可以像这样为文档设置数据,然后获取它,如
index.php
中,虽然名称可以是任何名称,但我现在在最上面有一个数组,只是为了测试
<?php
$settings = array(
enabled => true,
id => "KMS",
theme=>"kms_standard",
);
?>
要获取创建/编辑的日期,我使用date('l jS\of F Y h:I:sa',filemtime('../'.$page))
有没有一种方法可以像这样为文档设置数据,然后获取它,如果没有,我如何在for-each循环中使用数组而不包括整个文件。我相信如果我使用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>';
}
}
仪表板
$jsona = file_get_contents("../pages.json");
$jsonb = json_decode($jsona,true);
$data = $jsonb['pages'];
有没有一种方法可以像这样为文档设置数据,然后获取它,如果没有,我如何在for-each循环中使用数组而不包括整个文件。我相信如果我包含($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等常见格式变得更加重要。当您可以简单地使用一些本机方法时,您不希望使用字符串操纵来读取数组。Ok我将研究为用户设置的页面创建动态生成的JSON文件。另外,我正在研究cURL
cURL,如果两个文件都在同一台服务器上,则不需要它。不需要浪费1个HTTP请求,因为这可以通过文件系统轻松完成,但是如果目标PHP代码必须处理,那么是,cURL
或file\u get\u内容
是相关的。好的,汉克,我会尝试一下JSON,好的。当文件被删除时,只需要删除整个属性。Hanky我尝试创建一个JSON文件并对其进行解码,但在尝试var_dump它时返回NULL。您使用的新格式很好。第一个var_转储($jsona)
首先查看您是否获得了良好的响应,然后您可以稍后对其进行解码。
$jsona = file_get_contents("../pages.json");
$jsonb = json_decode($jsona,true);
$data = $jsonb['pages'];
if(isset($_GET['data'])){
$settings = array(
enabled => true,
id => "KMS",
layout=>"kms_standard",
);
return $settings;
exit();
}