【发布时间】:2015-10-24 20:54:19
【问题描述】:
我正在尝试使用 file_get_contents 函数在屏幕上打印图像 url 的内容:
<?php
$image2 = "http://www.example.com";
echo file_get_contents( $image2 );
?>
运行时,页面加载大约需要 15-20 秒,然后什么也不显示。我也尝试使用 cURL,它给出了相同的结果。有人对如何解决此问题有任何建议吗?
这是我尝试过的 curl 代码:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$contents=curl_exec($ch);
curl_close($ch);
echo $contents;
?>
运行时,页面会一直加载,直到服务器取消请求。
【问题讨论】:
-
当您使用“file_get_contents is not”时,存在一些错误处理问题。如果有效,则有效,如果无效,则可能需要时间找出原因。在这种情况下,您可以尝试将其替换为
curl,这可以为您提供有关问题所在的更多详细信息。 -
向浏览器发送正确的
Content-Type: image/jpeg标头。可能默认标头是text/html,所以浏览器无法理解。 -
您应该在客户端检索图像,只需返回 URL。此外,关闭 PHP 标记 (
?>) 会导致换行符和之后的其他代码附加到图像中,这不是您想要的,也是 PSR 编码指南禁止它的原因。最后,你如何确定它返回一个空字符串?
标签: php curl file-get-contents