2014-09-22 22 views
0

我想在php上創建一個圖像標題頁,其中我可以包含一些非ssl的url以具有完全ssl加密的網頁,例如duckduckgo的此服務:如何使用php和html創建圖像標題頁

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

這時我網頁顯示我喜歡duckduckgo的形象,但如果我包括像從duckduck去架構(www.example.org/img.php?img= http://www.image.php/img.jpg)的URL。圖像無法加載。我認爲它的圖像頭問題。

我的代碼:

<?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> 

回答

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

+0

它返回一個像這樣的錯誤:「圖像(url)無法顯示,因爲它包含錯誤。」 – R2D2 2014-09-22 16:16:36

+0

你必須爲此使用imagecreatefromjpeg函數。 imagejpg函數不會加載url或文件,但會將jpg作爲參數。請參閱:http://php.net/manual/en/function.imagejpeg.php – ArjanSchouten 2014-09-22 16:33:30

0

我覺得你首先需要創建圖像,並且圖像創建後,你叫imagejpeg ()函數。

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

您可以將代碼之外處理圖像,並請參見該代碼圖像元素的src屬性

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

阿爾揚正確說話。 但如果你希望在同一個文件中的php一定要退出。並且確保在標題函數調用之前沒有任何迴應......這包括在打開php標記之前的空格和新行。

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