2016-12-28 272 views
0

我有存儲在MySQL數據庫中的路徑。 例PHP代碼在正斜槓前添加反斜槓

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"] 

不知道爲什麼反斜槓前添加了斜槓。

+0

這是一個JSON問題:http://stackoverflow.com/a/10314758/1220930 – Timurib

+0

做什麼類型的輸出你想從'json_encode()'?任何支持JSON作爲輸入的應用都應該處理轉義斜線。 –

回答

1

JSON默認轉義所有特殊字符。在解碼時,你會得到原始值dir1/dir2/img1.jpg

您可以使用JSON_UNESCAPED_SLASHES跳過逃避斜線,並提供自PHP 5.4.0

echo json_encode($url, JSON_UNESCAPED_SLASHES); 
1

您可以使用

echo json_encode($url, JSON_UNESCAPED_SLASHES); 

這不會逃脫在目錄路徑中斜線。

1

問題是與你的json_encode代碼,使用此下面的代碼爲目的,

json_encode($url,JSON_UNESCAPED_SLASHES);