【问题标题】:How to call "CURL" to call external URL如何调用“CURL”来调用外部 URL
【发布时间】:2014-03-08 06:43:24
【问题描述】:

由于安全原因禁用了 url_fopen,如何使用“CURL”调用外部 URL。我想打开一个pdf文件。出于安全原因 url_fopen 功能被禁用。所以有人可以帮助我吗?

function Header()
{
 $this->SetY(20);
 $this->Image("images/logo-s.jpg", 120,0,80,20, "JPG", "www.example.com");
 $this->Ln(4);
}

【问题讨论】:

  • 如果您搜索右侧的相关 --->链接..您会得到很多答案!

标签: php curl


【解决方案1】:

有很多关于通过 CURL 功能连接、下载或保存内容到 URL 的答案,但即使 CURL 在您的服务器中被禁用,您仍然可以使用stream_context_create,请查看此question

用 CURL 试试

$url  = 'http://www.example.com/images/logo-s.jpg';
$path = '/path/to/images/logo-s.jpg';

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
file_put_contents($path, $data); // to save it somewhere

【讨论】:

【解决方案2】:

首先初始化一个 curl 处理程序:

$curl_handler = curl_init("http://www.linktomypdf.com/");

如果需要读入文件:

$fp = fopen("mypdf.pdf", "w");

现在使用 curl_setopt() 来设置 curl_handler 的选项:

curl_setopt($curl_handler, CURLOPT_FILE, $fp);

第一个参数总是 curl_handler,第二个是你要设置的选项,第三个是你要设置的值。所以这个调用将 CURLOPT_FILE 设置为 $fp。 您可以在此处找到选项列表:

https://php.net/manual/en/function.curl-setopt.php

为了便于阅读代码:

$curl_handler = curl_init("http://www.linktomypdf.com/");
$fp = fopen("mypdf.pdf", "w");
curl_setopt($curl_handler, CURLOPT_FILE, $fp);
curl_exec($ch);   //execute curl session
curl_close($ch);  // close curl_handler
fclose($fp);      // close file

【讨论】:

  • 我收到类似“FPDF 错误:图像文件丢失或不正确:banyantreebank.com/images/logo-s.jpg”的错误;
  • 我不知道那个错误是什么,但我想你可以在这里找到答案:stackoverflow.com/questions/3177716/…
  • 我现在可以看到 pdf 内容但看不到图片。
猜你喜欢
  • 1970-01-01
  • 2011-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-26
  • 2011-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多