2014-09-12 89 views
-1

我有一个用于保存图像的PHP脚本。PHP输出字符随机

这里说到我的代码:

move_uploaded_file($filename, $imagePath . $_FILES["img"]["name"]); 

$tempPath = $imagePath . $_FILES['img']['name']; 

$response = array(
     "status" => 'success', 
     "url" => $tempPath, 
     "width" => $width, 
     "height" => $height 
    ); 

echo json_encode($response); 

怪异的事情:当我echo $tempPath前阵,在我的Chrome开发者工具的“网络”选项卡中我得到正确的输出:“上传/温度/ imagename巴纽”。

然而,在我的数组键“URL”的值是:“上传/ \ TEMP/imagename.png”

所以我的问题是:为什么$tempPath在我的回应阵列不同的价值? "\"字符从哪里来?

+2

此代码不输出任何内容,所以它不会给出您描述的结果。你需要包含足够的代码来重现问题。 – Quentin 2014-09-12 13:12:22

+1

由于此代码实际上并未输出任何内容,因此问题将出在您输出的细节上;你需要向我们展示。 – deceze 2014-09-12 13:13:39

+1

向我们展示您用于查看您的数组内容的代码 – 2014-09-12 13:22:21

回答

1

它没有不同的值。

\/是一种完全可以接受的方式来表示JSON数据格式中的/字符,PHP默认使用这种方式。

+0

我该如何预防?我的路径当然需要被正确地推出 – 2014-09-12 13:30:03

+1

它正在被正确地推出。当您通过JSON解析器运行时,您将获得您期望的值。 – Quentin 2014-09-12 13:30:49