我有一个由文件路径设置的变量。路径是根据日期动态设置的
$str = "IMAGES\2016\08\01\NM.jpg"
注意反斜杠后跟数字。这是由服务器设置的,我不能在它到达我的php文件之前改变它,但它似乎导致这些字符编码,从而使我的脚本中断。
我尝试使用str_replace将反斜杠更改为正斜杠但是根据我对the php manual on blackslashes的理解,它在函数有机会运行之前被编码。
我的问题是:
有没有办法改变php读取字符串的方式?或者有没有办法可以改变它以使其可用?
答案 0 :(得分:0)
$str = 'IMAGES\2016\08\01\NM.jpg'
有效......用单引号......我想那就是当你整天盯着电脑屏幕时会发生什么。
答案 1 :(得分:0)
字符串$str
中的反斜杠正在转义紧随其后的字符,您可以通过使用单引号来阻止此行为,或者;你可以使用反斜杠来逃避反斜杠(等待......)。
echo $str = "IMAGES\2016\08\01\NM.jpg";
结果:IMAGES?68\NM.jpg
echo $str = "IMAGES\\2016\\08\\01\\NM.jpg";
结果:IMAGES\2016\08\01\NM.jpg
除此之外:您可以使用str_replace
或preg_replace
将每个反斜杠替换为两个反斜杠。