Как поместить переменную php в img src?

#php #html #pdo

#php #HTML #pdo

Вопрос:

Я не знаю, почему это не работает, я пытаюсь просмотреть изображение профиля. путь находится в базе данных и $data['pic'] показывает путь, но я заранее думаю, что синтаксис неправильный 🙂

 <img src="/images/<?php echo $data['pic']->pic_path; ?>">
  

Это var_dump($data['pic']) , как вы видите, вы видите pic_path , что в нем есть значение

 object(Profile_model)#3 (12) { ["user_id"]=> NULL ["username"]=> NULL ["f_name"]=> NULL ["l_name"]=> NULL ["phone"]=> NULL ["email"]=> NULL ["address"]=> NULL ["height"]=> NULL ["weight"]=> NULL ["goal"]=> NULL ["_connection":protected]=> object(PDO)#4 (0) { } ["pic_path"]=> object(Profile_model)#8 (12) { ["user_id"]=> NULL ["username"]=> NULL ["f_name"]=> NULL ["l_name"]=> NULL ["phone"]=> NULL ["email"]=> NULL ["address"]=> NULL ["height"]=> NULL ["weight"]=> NULL ["goal"]=> NULL ["_connection":protected]=> object(PDO)#9 (0) { } ["pic_path"]=> string(27) "5caf5df7b2ee68.41908466.jpg" } }
  
 <img src="/images/<?php echo $data['pic']->pic_path; ?>">
  

Ответ №1:

Из того, что вы указали в своем вопросе, я вижу, что $data['pic']->pic_path это объект типа Profile_model , а внутри него есть другое свойство 'pic_path' , которое, по сути, является строкой. Поэтому я считаю $data['pic']->pic_path->pic_path , что это даст вам путь, но я подозреваю, что это не предполагаемое поведение. Я бы посоветовал вам дважды проверить, как объект присваивается первому $data['pic']->pic_path .

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

1. Вы поднимаете хороший вопрос об исходном $data['pic']->pic_path назначении.

2. Большое спасибо за комментарий, теперь он наконец работает, но почему pic_path является объектом? это потому, что я отправил на просмотр?

3. $this->view(‘profile/index_profile’, [‘profile’=>$profile,’pic’=>$pic]);

4. Вот как я отправил данные с контроллера на просмотр

5. Я бы не сказал, что это связано с тем, как вы отправляете ее в представление (подозреваю, что вы используете Laravel). Более важно, какое значение $pic присваивается перед отправкой в представление. Если вы можете обновить свой вопрос с помощью кода контроллера, я могу попытаться помочь вам в этом.