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 中时,这也避免了互操作性问题。
我知道有很多关于转义字符的话题,但我就是找不到解决我问题的方法。
这很容易。这是我的字符串:
$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 中时,这也避免了互操作性问题。