Dlaczego zdjęcie się nie wyświetla?

0

Dlaczego to nie wyświetla zdjęcia?
W jaki sposób poprawić ? Dziękuję za pomoc

$obrazek = "camera.jpg" ;
$profil["photos"] = "camera.jpg";
echo '<img src=" ./imgs/<?php echo .$profil["photos"];  width="500" height="500"  alt="Digital Camera" ?>" / >' ;
2

W PHP jest różnica między deklaracją string w pojedynczych ' a podwójnych " cudzysłowach. Użyłeś pojedynczych, to znaczy że cały tekst w środku nie będzie interpretowany tylko zostanie wyświetlony.
Musisz albo zmienić na podwójny cudzysłów, albo np. łączyć stringi (konkatenacja) przy użyciu kropki.
Jeśli tylko zmienisz cudzysłowy to wyskoczy Ci inny błąd. Bo masz źle zamknięte znaczniki PHP.
Spróbuj poczytać - pierwsze z brzegu https://www.phpdevs.pl/podstawy-jezyka/5-apostrof-czy-cudzyslow

0

Potwierdzam, a wystarczyło żeby OP zajrzał do źródła i zrobił kilka var_dump'ów.

2

@adamon Powinieneś zacząć korzystać z dostępnym Ci narzędzi, przede wszystki z odpowiedniego edytora.

Zauważ, że gdybyś tylko na tym forum zamiast ``` do formatowania kodu użył zalecanego ```php, to samo kolorowanie składni podpowiedziałoby Ci co jest nie tak.

  • Formatowanie oryginalne:
    screenshot-20230403100613.png

  • Formatowanie z ```php:
    screenshot-20230403100751.png
    Tutaj od razu widać, że całość to jest pojedynczy string.

A już nawet pomijając całą przygodę z apostrofami, to w nigdy nie możesz użyć drugiego <?php w stringu - już jesteś w kontekście PHP, wiec takiego dodatkowe otwieranie <?php jest niepoprawne.

Cały Twój kod powinien wyglądać tak:

<?php
$obrazek = "camera.jpg" ;

$profil["photos"] = "camera.jpg";

echo '<img src="' . htmlEntities( './imgs/' . urlencode($profil["photos"])) . '" width="500" height="500"  alt="Digital Camera">';
0

stokrotne dzięki, najbardziej wdzięczny za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1