#php #html #css #ob-start
#php #HTML #css #ob-start
Вопрос:
функция класса (расположена php/php_includes/easyCMSv2.php )
public function get_file($file){
ob_start();
include('php/'.$file);
$file = ob_end_clean();
return $file;
}
stylesheet_config.php (находится на php / css)
<?php
$blue = "#4C66A4";
$red = "#A44C4C";
?>
stylesheet.php (находится на php / css)
<?php
ob_start ("ob_gzhandler");
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
$if_modified_since = preg_replace('/;.*$/', '', $_SERVER['HTTP_IF_MODIFIED_SINCE']);
} else {
$if_modified_since = '';
}
$mtime = filemtime($_SERVER['SCRIPT_FILENAME']);
$gmdate_mod = gmdate('D, d M Y H:i:s', $mtime) . ' GMT';
if ($if_modified_since == $gmdate_mod) {
header("HTTP/1.0 304 Not Modified");
exit;
}
header("Last-Modified: $gmdate_mod");
header('Content-type: text/css');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() (60*60*24*45)) . ' GMT');
include_once('../php_includes/easyCMSv2.php');
require('stylesheet_config.php');
$cms = new Template($connect);
if(isset($_GET['v'])){
$cms->get_file('css/'.$_GET["v"].'.php');
}
?>
$_GET['v']
= 1-23-1
1-23-1.php (находится на php / css)
div{
color:<?=$blue?>;
background:<?=$red?>;
}
Хотя каждый раз, когда я перехожу к URL-адресу (либо по тегу ссылки, либо по прямому URL-адресу), он возвращает 1
, может ли кто-нибудь объяснить мне, почему он продолжает возвращать 1?
Ответ №1:
ob_end_clean()
возвращает true или false (в вашем случае true или 1). Он не возвращает фактический вывод буфера.
Вам нужно использовать другой метод для извлечения выходных данных буфера: ob_get_contents()
public function get_file($file){
ob_start();
include('php/'.$file);
$file = ob_get_contents(); /* *** */
ob_end_clean();
return $file;
}
Комментарии:
1. ВАУ, я слишком много смотрел на это! Я просмотрел его примерно 3000 раз, какая любительская ошибка.
2. Иногда просто нужен другой взгляд на вещи, когда вы подходите слишком близко
![]()
3. Да, это очень, очень верно. Это отстой, потому что я ненавижу приходить сюда, задавая какие-то вопросы, потому что они в конечном итоге оказываются глупыми и простыми!