我正在访问不在网络目录中并将其提供给浏览器的电子表格。我使用以下代码执行此操作:
$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服务器。
有谁知道这个的原因?