php file_get_contents / header server的区别

时间:2014-11-13 12:46:14

标签: php apache

我正在访问不在网络目录中并将其提供给浏览器的电子表格。我使用以下代码执行此操作:

$filePath = WEBSITE_ROOT_PATH.'/../where_the_spreadsheets_are/file_name.xls';

if(file_exists($filePath)){
    $contents = file_get_contents($filePath);                
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment;filename=file_name.xls");
    header("Content-Transfer-Encoding: binary");
    echo $contents;
}

此代码可在20多个独立服务器上正常运行,但不能在一个服务器上运行。在Excel失败的情况下,电子表格已损坏。

失败的服务器有镜像服务器,因此存在相同的文件路径和文件名,并且在此服务器上电子表格没问题。

它是运行WAMP的Win服务器2007。其余的都是运行WAMP的Win服务器。

有谁知道这个的原因?

0 个答案:

没有答案