在 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"
我正在尝试使用 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"