在 readfile() 中使用 space

using space in readfile()

我正在尝试使用 readfile() 下载 xlsx 文件。 文件名是一个字符串变量 ($costing_url),其中包含空格,并根据 href'd ID 从 MySQL 数据库中提取。

示例:

$costing_url="X:\Sys_Prod\WAResponse\Americas Division15\OMA - Mexico\ACA (vMUSE AOPS) AATC Costing 09-10-2015 ver(a).xlsx"

这个

readfile($costing_url);

--- 导致 "failed to open stream" 错误。

这个

readfile("X:\Sys_Prod\WAResponse\Americas Division15\OMA - Mexico\ACA (vMUSE AOPS) AATC Costing 09-10-2015 ver(a).xlsx"); 

--- 工作正常。

如果 $costing_url 在 path/filename 示例中没有任何空格 A 工作正常。

研究表明需要双引号来容纳空格,示例 B 证明了这一点。

我的问题是我无法在 readfile() 中正确转义双引号。我已经尝试了所有我能想到的方法,但是当我尝试引用它时它不会翻译字符串 ($costing_url)

感谢任何帮助。

跟空格没有关系。数据库中的字段在字段末尾有一个回车return

如果其他人遇到类似问题,这里有一些更详细的信息:我修剪了字符串以删除尾随的马车return

$costing_url = rtrim(costing_url, "\r");

并将读取文件行更改为

readfile((string)$costing_url);

不要使用“\”,使用“/”

例如: $costing_url= "X:/Sys_Prod/WAResponse/Americas Division/2015/OMA - Mexico/ACA (vMUSE AOPS) AATC Costing 09-10-2015 ver(a).xlsx"