如何使用php&创建图像标题页面HTML

时间:2014-09-22 15:52:39

标签: php html image ssl header

我想在php上创建一个Image Header页面,我可以在其中包含一些带有非ssl的URL以拥有一个完整的ssl加密网页,例如来自duckduckgo的这项服务:

http://images.duckduckgo.com/iu/?u=http://4.bp.blogspot.com/-JOqxgp-ZWe0/U3BtyEQlEiI/AAAAAAAAOfg/Doq6Q2MwIKA/s1600/google-logo-874x288.png

此时我的页面显示了像duckduckgo这样的图像,但如果我包含一个类似于duckduck的模式的URL(www.example.org/img.php?img=http://www.image.php/img.jpg)。图像无法加载。我认为它是图像标题的问题。

我的代码:

<?php
    session_start();
    $img = $_GET["img"];
    echo imagejpeg($img);
?>
<html>
<head>
<meta content="width=device-width; height=device-height;" name="viewport">
</head>
<body>
<img class="decoded" alt='<?php echo $img; ?>' src='<?php echo $img; ?>'>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

您想要的是通过服务器将图像从服务器加载到客户端。 您可以通过创建一个公共分离的php文件来完成此操作,例如image.php。

所以用你在html页面上的代码制作一个php文件image.php。您只需将这段代码放在首位:

header('Content-Type: image/jpeg');

现在您可以将其称为:http://your-domain.com/image.php?img=https://your-domain.com/images/your-image.jpg

答案 1 :(得分:0)

我认为您首先需要创建图像,并在创建图像后调用imagejpeg()函数。

$img = $_GET['img'];
$generated_img = imagecreatefromjpeg($img);
imagejpeg($generated_img);

您可以在代码外部处理图像,并在图像元素的

<img src="img.php" />

答案 2 :(得分:0)

arjan说得对。 但如果您希望将php放在同一个文件中,请确保退出。并且还要确保在头函数调用之前没有回显...这包括在打开php标记之前的空格和新行。

<?php
    session_start();
    if ($_GET["img"] != '')
    {
        $img = $_GET["img"];
        header('Content-Type: image/jpeg');
        echo imagejpeg($img);
        exit();
    }
?>