2014-09-12 131 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