Я хочу добавить косую черту в строку в php, чтобы сделать ее частью URL-адреса.
Вот код:
$arr = array( ..., "imagePath"=>"folderName/".$rs["imageName"] );
echo json_encode($arr);
ожидаемый результат:
"imagePath":"folderName/imageXYZ.jpg"
Наблюдаемый результат:
"imagePath":"folderName\/imageXYZ.jpg"
Я гуглил это, но не мог найти причину. Любая помощь высоко ценится. Спасибо!
Я рекомендую использовать PHP константа DIRECTORY_SEPARATOR
:
"imagePath"=> sprintf("folderName%s%s", DIRECTORY_SEPARATOR, $rs["imageName"])
Если вы продолжаете испытывать проблемы, следите за тем, что происходит со значением между вами, когда вы устанавливаете его, и вы наблюдаете, как оно выходит за пределы допустимого значения. Возможно, он проходит через что-то, что фильтрует его / ускользает от него.
Например, если вы проходите через json_encode, см. опция JSON_UNESCAPED_SLASHES
json_encode($arr, JSON_UNESCAPED_SLASHES);
Других решений пока нет …