2012-05-16 47 views
1

我有2兩個PHP pages.One是主要的,包括第二個文件裏面,我想添加一個過期的標頭,但我得到以下錯誤添加Expires頭被納入到另一個頁面

Warning: Cannot modify header information - 
headers already sent by (output started at.. 

在第一個

ob_start('ob_gzhandler', 6); 

/// lots of html here 

include("pageTwo.php"); 

/// lots of html here 

ob_end_flush(); 

在第二頁

ob_start(); 
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); 

/// lots of html here 

ob_end_flush(); 

回答

1

在應用壓縮之前,請勿使用模式6並嘗試使用裸露

<?php 
ob_start(); 

// include ... 

ob_end_flush(); 
?> 
0

您需要發送標題你的PHP前頁面會生成任何輸出。

這將工作:

<?php 
    print 'test'; 
    header('Expires: .... '); 
?> 

這將工作:

<?php 
    header('Expires: .... '); 
    print 'test'; 
?> 

所以基本上你需要更改頁面sents頭。

0

您不能在標題之前放置任何回聲字符串,因爲標題假設首先出現,而不是常規文本。您可以添加一個常規元標記。並通過php設置失效 示例

<meta http-equiv="expires" content="<?php echo date(whatever type); ?>" /> 
相關問題