Как вернуть изображение - PullRequest
1 голос
/ 19 мая 2011

Я хочу показать изображение с помощью PHP-скрипта.Вот мой текущий код:

<?php
if (isset ($_GET['id'])) $id = $_GET['id'];
$t=getimagesize ($id) or die('Unknown type of image');

switch ($t[2])
{
    case 1:
    $type='GIF';
    $img=imagecreatefromgif($path);
    break;
    case 2:
    $type='JPEG';
    $img=imagecreatefromjpeg($path);
    break;
    case 3:
    $type='PNG';
    $img=imagecreatefrompng($path);
    break;
}

header("Content-type: image/".$type);
echo $img;
?>

Но это не показывает изображение.Какой правильный путь вместо echo $img?

Ответы [ 4 ]

3 голосов
/ 03 марта 2017

просто так:

public function getImage()
{

    $imagePath ="img/wall_1.jpg";

    $image = file_get_contents(imagePath );
            header('content-type: image/gif');
            echo $image;

}
2 голосов
/ 19 мая 2011

Есть функции для каждого формата.

В вашем случае вы можете добавить:

switch ($t[2])
{
    case 1:
    imagegif($img);
    break;
    case 2:
    imagejpeg($img);
    break;
    case 3:
    imagepng($img);
    break;
}
1 голос
/ 19 мая 2011
header("Content-type: image/jpeg");
imagejpeg($img);
0 голосов
/ 19 мая 2011

Я использовал echo() для этого раньше, и это сработало. Но попробуйте вместо этого использовать функцию imagejpeg().

Кроме того, убедитесь, что у вас нет другого контента, выводимого ни до, ни после изображения в вашем скрипте. Распространенной проблемой являются пробелы и переводы строк, вызванные пробелами и переводами строк до или после тегов <?php и ?>. Вы должны удалить все это. И проверьте любой другой код PHP, загруженный через include() или requre(), на то же самое.

...