无法显示结果图像(PHP代码)

时间:2017-04-11 14:52:56

标签: php

我试图从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;
}
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>
";
}
?>

上面的代码什么都没显示 但是当我在浏览器中打开网址时,它会显示qr代码。

1 个答案:

答案 0 :(得分: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>
";

}

您可能还需要在开幕ob_start();后的顶部添加<?php

并且该文件未使用字节顺序标记进行编码。这也会引发错误。

该文件可编码为ANSI或UTF-8 ,无 BOM。