【发布时间】:2016-01-06 17:46:23
【问题描述】:
我正在尝试使用 readfile() 下载 xlsx 文件。 文件名是一个带有空格的字符串变量 ($costing_url),它是基于 href 的 ID 从 MySQL 数据库中提取的。
例子:
$costing_url="X:\Sys_Prod\WAResponse\Americas Division\2015\OMA - Mexico\ACA (vMUSE AOPS) AATC Costing 09-10-2015 ver(a).xlsx"
这个
readfile($costing_url);
--- 导致“无法打开流”错误。
这个
readfile("X:\Sys_Prod\WAResponse\Americas Division\2015\OMA - Mexico\ACA (vMUSE AOPS) AATC Costing 09-10-2015 ver(a).xlsx");
--- 工作得很好。
如果$costing_url 在路径/文件名示例中没有任何空格,则 A 工作正常。
研究表明,双引号需要容纳空格,这就是示例 B 证明的事实。
我的问题是我无法在readfile() 中正确转义双引号。我已经尝试了所有我能想到的方法,但是当我尝试引用它时它不会翻译字符串 ($costing_url)。
感谢任何帮助。
【问题讨论】:
-
你试过“${costing_url}”吗?
-
第一个示例和第二个示例之间的路径字符串处理方式实际上没有区别。这使我相信两个示例之间的代码或运行代码的环境都存在差异。例如。不同的用户、CLI 与 SAPI、不同的环境等