2016-12-28 9 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

:http://stackoverflow.com/a/10314758/1220930 – Timurib

+0

ん出力のどのような種類あなたは 'json_encode()'から望みますか?入力としてJSONをサポートするものは、エスケープされたスラッシュを処理する必要があります。 –

答えて

1

JSONは、デフォルトですべての特殊文字をエスケープします。デコードされたときは、これは逃れられないだろうあなたが

echo json_encode($url, JSON_UNESCAPED_SLASHES); 

を使用することができますあなたはPHP 5.4.0以降

echo json_encode($url, JSON_UNESCAPED_SLASHES); 
1

を利用できるエスケープスラッシュをスキップするJSON_UNESCAPED_SLASHESを使用していることができdir1/dir2/img1.jpg

元の値を取得しますディレクトリパスをスラッシュします。

1

問題は、それはJSONの問題だ、その目的のために、この次のコードを使用し、あなたのjson_encodeコードである

json_encode($url,JSON_UNESCAPED_SLASHES); 
関連する問題