Ссылка на файл .php из тега html img src

#php #html #image

#php #HTML #изображение

Вопрос:

В моем getimage.php файл, у меня есть функция, которая возвращает изображение и оператор echo

 function getPicture(){
}
header("Content-Type: image/png");
echo getPicture(); 
 

Затем в моем index.html У меня есть следующий код

 <body>
        <img src="getimage.php" />
</body>
 

Теперь, очевидно, я знаю, что я делаю что-то не так, так как в html это сломанная картинка. Я предполагаю, что установка src в качестве файла .php фактически не выполняется getimage.php

Есть идеи / помощь?

Спасибо!

 function getPicture()
    {
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL, 'image url');
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer XXXX'));
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
        $picture = curl_exec($ch);
        curl_close($ch);
        return $picture;
    }
 

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

1. Что getPicture() возвращает?

2. ваша функция НИЧЕГО не делает, кроме вывода заголовка http-изображения. поскольку фактических данных изображения нет (например, байтов в файле gif / jpg / png), на стороне клиента не получено ничего полезного, и вы получаете поврежденное изображение. По сути, вы говорите: «Я собираюсь отправить вам картинку», а затем уходите и ничего не делаете.

3. Я добавил свою функцию getPicture для всех вас, милые даунвотеры. Спасибо, что посмотрели @ мой вопрос

4. Раньше я не был симпатичным сторонником отказа, но теперь я рассматриваю это, поскольку вы их вызвали. Люди просто пытаются помочь вам перейти к лучшему, более полному вопросу, где вы можете получить реальную помощь вместо предположений.

5. Тогда, если изображение отображается нормально, в вашем коде нет ничего плохого. ссылка на изображения php очень распространена, особенно в электронных письмах, чтобы иметь возможность отслеживать чтение изображений, изображение открывается с параметрами, указывающими, кто открывает изображение. Так что в вашем коде нет ничего плохого, это должна быть простая ошибка пути, и я боюсь, что ответ Рика Д. в этом случае может быть хорошим ответом

Ответ №1:

В зависимости от расположения getimage.php , вам, вероятно, придется указать относительный URL-адрес, например

 <img src="/getimage.php" />
 

Предполагая getimage.php находится в корне вашего сайта.

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

1. Я проверил это на своем местном сайте. В корне документа, который я создал getimage.php с вашим приведенным выше кодом, чтобы я мог получить к нему доступ в браузере с помощью getimage.local/getimage.php . src=»getimage.php » не работает, но src=»/getimage.php » делает

2. начало пути с / — это абсолютный путь… вы перевернули относительное и абсолютное

3. @VincentDuprez — начало пути с / относится к корню документа. Абсолютный путь — это полный путь ( http://domain.ext/foobar в случае HTTP)

4. Да, «корневой родственник» — это термин, который я видел для «/ foo / bar». «foo / bar» является относительным, » example.com/foo/bar » является абсолютным.