#php #image #file-get-contents #readfile
#php #изображение #file-get-contents #readfile
Вопрос:
Я пытаюсь использовать функцию, чтобы заставить это работать:
<img src='login.php?image=ind_legend.jpg'>
Но я не могу пройти через функцию для размещения изображения. Я вернулся на пару шагов назад и попробовал только эту часть кода:
<?php
$file = "http://localhost/sales/test.jpg";
header('Content-type: image/jpeg');
readfile($file);
?>
или с помощью этой функции:
echo file_get_contents($source);
но факт в том, что единственное, что я получаю, это поврежденный крест изображения (IE) или ничего в Firefox.
Я был бы признателен за любые предложения
Заранее спасибо
Ответ №1:
используйте ob_clean() функцию php перед readfile()
Комментарии:
1. Это способ обойти проблему, фактическое решение проблемы находится в принятом anwser.
Ответ №2:
У вас, безусловно, есть некоторые пробелы в вашем PHP-скрипте или UTF-8 BOM
невидимый перед вашим <?php
маркером открытия. Используйте шестнадцатеричный редактор, чтобы выяснить.
Для дальнейшей отладки откройте URL изображения http://localhost/login.php?image=ind_legend.jpg сохраните файл непосредственно в вашем браузере. А затем сравните его с исходным JPEG.
Ответ №3:
Как упоминалось ранее, у вас, вероятно, есть некоторые пробелы. Я бы попробовал заменить весь файл приведенным ниже кодом. Удаление закрывающей инструкции php устраняет любую вероятность наличия дополнительных пробелов:
<?php
$file = "http://localhost/sales/test.jpg";
header('Content-type: image/jpeg');
readfile($file);
Ответ №4:
прежде всего укажите вашему браузеру на http://youraddress/login.php?image=ind_legend.jpg и проверьте результат.
Возможно, файл /sales/test.jpg поврежден или вы не включили http: // оболочку для readline
Наконец, сохраните поврежденное изображение с помощью опции контекстного меню «Сохранить изображение как …» вашего браузера по выбору и попробуйте открыть его с помощью текстового редактора. Я не удивлюсь, если вы обнаружите сообщение об ошибке (если они у вас включены).