PHP 转义文件路径中的 \14 字符

PHP escaping \14 character in file paths

我知道有很多关于转义字符的话题,但我就是找不到解决我问题的方法。

这很容易。这是我的字符串:

$path = "C:\Users\Me\Desktop409238.jpg";

然而,无论我使用多少转义技术,我都无法在不破坏它的情况下显示正确的路径。在所有情况下,\14 将替换为

C:\Users\Me\Desktopd09238.jpg

我该如何解决这个问题?

尝试更改,访问图像的物理路径,存储在桌面上可以写成,

$path = "C:\Users\Me\Desktop409238.jpg";

$path = "C:\Users\Me\Desktop\14409238.jpg";

不要在 PHP 中对 windows 路径使用反斜杠。它足够聪明,可以为您转换:

$path = "c:/users/me/desktop/...";

使用反斜杠会遇到您遇到的确切问题 - 将某些字符反斜杠会将它们变成元字符,而不是常规字符。

完全避免这种情况,Windows 下的 PHP 允许您提交带有反斜杠的路径

c://Users/Me/Desktop/file.jpg

当脚本必须 运行 在 .nix 和 Windows 中时,这也避免了互操作性问题。