【问题标题】:Get file content via PHP cURL [closed]通过 PHP cURL 获取文件内容 [关闭]
【发布时间】:2012-09-28 17:06:15
【问题描述】:

我有一个网站。我们称之为http://www.domain.com。现在,在这个 domain.com 上,我想显示http://www.adserversite.com/ads.php 的文件内容。如何使用 cURL 或其他方法做到这一点?我不想使用iframe

谢谢

【问题讨论】:

  • 相关部分的可能副本。在提出已经提出的问题或通过谷歌搜索很容易回答的问题之前,请先进行研究。

标签: php curl


【解决方案1】:
echo file_get_contents('http://www.adserversite.com/ads.php');

谁需要 curl 来完成这个简单的任务?

【讨论】:

  • 注意:如果allow_url_fopen 在 php.ini 中为“开”,这在某些共享主机上可能不是这样,例如已经提到的@m4t1t0。我个人在安装 curl 时遇到过几次情况,但 allow_url_fopen 被禁用。
  • 还要注意 file_get_contents 比 cURL 慢得多! stackoverflow.com/questions/13004805/…
  • 另请注意,默认情况下 curl 确实会正确检查 SSL 证书 - PHP 从 5.6 版开始只做正确的事情,并且不支持早期版本中的 SubjectAlternativeName 字段。
【解决方案2】:

您可以像 Petr 所说的那样使用file_get_contents,但您需要在您的php.ini 中激活allow_url_fopen,并且您的主机可能不允许您更改此设置。

如果您更喜欢使用 CURL 而不是 file_get_contents,请尝试以下代码:

<?php
$url = 'http://www.adserversite.com/ads.php';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$data = curl_exec($curl);
curl_close($curl);

【讨论】:

  • 虽然真实且完全准确,但它可能有助于全面披露使用 cURL 需要安装 cURL 扩展,其中 allow_url_fopen 默认情况下处于启用状态;)
  • 你说得对,file_get_contents 是可取的,但我过去遇到过共享主机的问题。
  • 在 PHP 7 中,我在安装 curl 时遇到了两种方法 allow_url_fopen 的问题。
  • 有什么办法可以逐行读取数据吗?我似乎从文件中读取了一大堆文本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-07
相关资源
最近更新 更多