2017-04-11 25 views
0

我一個試圖從URL的結果(圖像),但有一些事情出錯代碼 我的代碼是:無法顯示合成圖像(PHP代碼)

<?php 
if(isset($_POST['submit'])) 
{ 
$url= $_POST['url']; 
$qrurl= 'http://www.qr-code-generator.com/phpqrcode/getCode.php? 
cht=qr&chl='.$url.'&chs=180x180&choe=UTF-8&chld=L|0'; 
$result = file_get_contents("$qrurl"); 
echo $result; 
} 
else 
{ 
echo"<form method='post' action='index.php' > 
<input name='url' class='material' placeholder='Enter url...' type='url'autofocus/></br><br> 
<input name='submit' id='submit' type='submit' value='submit'/></br><br> 
</form> 
"; 
} 
?> 

上面的代碼中顯示任何 但是當我在瀏覽器中打開url時,它顯示qr碼。

回答

3

您需要一個(PNG)頭文件,因爲這是它正在創建的文件的類型,並確保該URL位於一行而不是分成兩部分; 非常重要

<?php 
if(isset($_POST['submit'])) 
{ 
$url= $_POST['url']; 
$qrurl= 'http://www.qr-code-generator.com/phpqrcode/getCode.php?cht=qr&chl='.$url.'&chs=180x180&choe=UTF-8&chld=L|0'; 
$result = file_get_contents("$qrurl"); 
echo $result; 

header ('Content-Type: image/png'); 
exit; 

} 
else 
{ 
echo"<form method='post' action='index.php' > 
<input name='url' class='material' placeholder='Enter url...' type='url'autofocus/></br><br> 
<input name='submit' id='submit' type='submit' value='submit'/></br><br> 
</form> 
"; 

} 

您還可能有在頂部的開口<?php後添加ob_start();

而且文件沒有用字節順序標記編碼。這也會引發錯誤。

該文件可以編碼爲ANSI或UTF-8 而不包含 BOM。

+0

錯誤:「無法打開流:連接超時」和「無法修改標題信息」 –

+0

@SriCharan再次檢查我的答案;我做了一些編輯。完全跟隨他們。這是一個編碼問題。 –

+0

@SriCharan歡迎。 –