如下代码,类似smarty,传过来变量在header前可以读取,在header后为null,<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
$filename = urlencode("故障历史".$filename);
$filename = str_replace("+", "%20", $filename);// 替换空格
}else{
$filename = str_replace(" ","","故障历史".$filename);
}
header ( "Pragma: public");
header ( "Content-type:application/vnd.ms-excel;charset=utf-8" );
header ( "Content-Disposition:filename=".$filename.".xls" );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
count($array);//为0;
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
$filename = urlencode("故障历史".$filename);
$filename = str_replace("+", "%20", $filename);// 替换空格
}else{
$filename = str_replace(" ","","故障历史".$filename);
}
header ( "Pragma: public");
header ( "Content-type:application/vnd.ms-excel;charset=utf-8" );
header ( "Content-Disposition:filename=".$filename.".xls" );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
count($array);//为0;
$filename我是从控制器传过来的,它能取到值,而$array也一样,去取不到值。
我试了下,放在header前能取到,而放在它后面却取不到,只有在ie的情况下是这样,在谷歌和火狐则可以。