我有一个查找在MySQL数据库中的文件,发出一些头,名字的文件的东西可读的,然后脚本提供了它的用户。PHP ReadFile的()无效拉链
这是工作半年左右(为成千上万的用户),直到大约6小时前。 现在,Windows 7用户现在得到一个错误,指出“Windows无法打开文件夹。压缩(压缩)文件夹:'... filename.zip'无效。”无论浏览器用于下载,都会发生这种情况Linux用户等可以很好地打开交付的文件,Win7用户也可以,比如WinRAR。只有Windows资源管理器无法打开它们。
这里是它变得非常奇怪的地方...如果我制作了我的脚本的新副本,并删除各种包括查找文件并决定如何命名它,它会下载并打开就好.. 。来自两个脚本的结果文件大小相同,结果名称相同。 [将新名称硬编码到原始脚本中并没有帮助。我觉得这可能是一个编码问题的名称。]我已经尝试过用不同的方法在不同的机器上创建不同内容的zip文件。
脚本检查headers_sent(),file_exists(),和is_readable()。
apache_setenv('no-gzip', '1');
加入以下唯一的半相关的信息,我可以在这里找到或在互联网上的其他地方的脚本(无效果)。
显然,一些在包括以某种方式打破的东西,但我没有任何想法要寻找什么...想法? (包含大约300行代码......基本上,它是数据库访问的抽象类,文件的所有类的具体版本以及它们的所有cms信息,该站点的相关图像等)。
在一时兴起,我在readfile($file);
之前加上了“ob_clean();
......它修正了它。所以我现在的问题是:为什么?所有文件中的错误报告都是关闭的。还有什么可以发送输出但不是头文件?而为什么“突然”在behaivor
您在一个包含的文件中有一些输出。甚至可能是换行符或空格。 – Timur 2012-03-19 07:17:13