卷曲无法正常下载图像(cURL not properly downloading images)

2019-10-19 06:47发布

我在与卷曲的问题。 我下载的图像,并将它们保存到一个文件夹。 该卷曲创建文件有正确的文件大小,这让我觉得头被正确读取。 但是,当我在浏览器或任何图片查看应用程序打开文件时,只在顶部一点点似乎实际上已被写入。 我的代码:

function _vancore_curl_savefile($url) {
  $url = str_replace("\"", "", $url);
  $basename = basename($url);
  $basename = str_replace("%20", "_", $basename);
  $var = file_directory_path() . "/van/" . $basename;
  $uvar = "files/van/" . $basename;
  $handle = fopen($var, "w");
  $curl = curl_init($url);
  curl_setopt($curl, CURLOPT_FILE, $handle);
  $result = curl_exec($curl);
  $result2 = $result;
  curl_close($curl);
  fclose($handle);
  return $uvar;
}

file_directory_path()是一个Drupal功能(此功能是一个Drupal模块的一部分,并呼吁需要下载每个文件)的路径返回到Drupal的文件下载目录。 我已经通过各种测试,证实:

一) $url是它应该是什么
B) fopen()在打开右文件
C) curl_exec()是返回true ,执行后

我对正在发生的事情错在这里很困惑。 任何人有什么想法?

TIA,
班吉

Answer 1:

你不碰巧使用Drupal的卷曲模块中的curl库“仿真”。 你是? 这并不总是工作。 请确保你已经安装了PHP真正curl库。



Answer 2:

组:

curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);


Answer 3:

尝试,如果这有助于:

curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_TIMEOUT, 60);


Answer 4:

可能是你错过curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1); (连同CURLOPT_RETURNTRANSFER ,如以上所述)

这里是一个例子。



文章来源: cURL not properly downloading images
标签: php drupal curl