PHP代码在正斜杠之前添加反斜杠

时间:2016-12-28 12:10:28

标签: php mysql

我有路径存储在MySQL数据库中。 实施例

dir1/dir2/img1.jpg

当我运行此功能时

$stmt = $this->con->prepare("SELECT path FROM walls WHERE category = ?");
            $stmt->bind_param("s", $cat);
            $stmt->execute();
            $stmt->bind_result($path);
            while($stmt->fetch()) {                 
                $url[] = $path;

            }
            echo json_encode($url);

它返回,

[[],"dir1\/dir2\/img1.jpg"]

在正斜杠之前,不知道为什么反斜杠会加起来。

3 个答案:

答案 0 :(得分:2)

默认情况下,

JSON会转义所有特殊字符。解码后,您将获得原始值dir1/dir2/img1.jpg

您可以使用JSON_UNESCAPED_SLASHES来跳过转义斜杠,自PHP 5.4.0起可用

echo json_encode($url, JSON_UNESCAPED_SLASHES);

答案 1 :(得分:2)

问题在于您的json_encode代码,为此目的使用以下代码,

json_encode($url,JSON_UNESCAPED_SLASHES);

答案 2 :(得分:1)

您可以使用

{{1}}

这不会转义目录路径中的斜杠。