【问题标题】:Reading from a text file after using curl使用 curl 后从文本文件中读取
【发布时间】:2012-01-21 11:15:36
【问题描述】:

我正在尝试调试 curl 会话,但我似乎无法从创建的文件中读取数据。在下面的代码中,file_get_contents 返回 false 并显示一个空白页面:

<?php

$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://www.php.net");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
$fh= fopen('test.txt', 'w+');
curl_setopt($curl, CURLOPT_STDERR, $fh );
curl_exec($curl);
fclose($fh);
curl_close($curl);
echo file_get_contents("test.txt");
?>

但是当我使用代码时:

<?php
echo file_get_contents("test.txt");
?>

文本文件中的内容显示得很好。

【问题讨论】:

  • 这很奇怪...你的意思是关闭文件后不能立即读取文件,但过一段时间可以读取相同的未修改文件?
  • 请尝试将内容直接提取到 PHP 变量(而不是您正在尝试的文件)的代码。这是一个这样的例子davidwalsh.name/download-urls-content-php-curl

标签: php curl file-get-contents stderr


【解决方案1】:

选项CURLOPT_RETURNTRANSFER 设置为TRUE 使 curl 将其输出作为字符串返回,但您的代码并未将该输出存储在任何变量中。试试这样的:

$content = curl_exec($curl);
print_r($content);

其他问题是CURLOPT_STDERR 设置了输出错误的位置,而不是实际的传输。

【讨论】:

    【解决方案2】:

    很可能您对当前目录没有写入权限,如果您不在保险箱中,请尝试使用 /tmp/test.txt 或 php 中的任何名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      相关资源
      最近更新 更多