Storage_path возвращает путь без косых черт в laravel

#php #laravel-5 #laravel-blade

#php #laravel-5 #laravel-blade

Вопрос:

Я хочу получить путь к функции хранения в laravel и прочитать его в javascript,

То, как я пытаюсь это сделать, :

 var storagePath="<?php echo storage_path(); ?>";
console.log('StoragePath ',storagePath);
  

Но это выводит из системы путь, подобный этому :

 StoragePath  C:wampwwwd3projectFirststorage
  

Мне действительно нужны косые черты, но кажется, что ‘storage_page ()’ обрезает их, не уверен, что это вопрос безопасности, могу ли я по-прежнему читать путь к папке, используя строку выше, или оставить косые черты без обрезки?

Ответ №1:

Это потому, что javascript думает, что вы хотите чего-то избежать. Итак, все, что вам нужно сделать, это избежать обратной косой черты. добавление косых черт сделает свое дело:

 var storagePath = "<?php echo addslashes(storage_path()); ?>";
console.log('StoragePath ',storagePath);
  

Комментарии:

1. Значит, его java-скрипт, который обрезает косые черты, а не storage_path()?

2. Да и нет. Это потому, что обратная косая черта используется для экранирования определенных символов (например, одинарных и двойных кавычек в строке и т. Д.). Чтобы «напечатать» обратную косую черту, ее также необходимо экранировать, иначе она попытается экранировать следующий символ (что приводит к ошибке javascript SyntaxError: malformed hexadecimal character escape sequence )