2012-01-21 4 views
1

Я пытаюсь отладить сессию curl, но я не могу читать данные из созданного файла. В приведенном ниже коде, file_get_contents возвращает ложь и пустой страницы показывает вверх:Чтение из текстового файла после использования curl

<?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"); 
?> 

содержание в текстовом файле дисплеях просто отлично.

+0

Это странно ... вы имеете в виду, что вы не можете прочитать файл сразу после его закрытия, но можете прочитать один и тот же немодифицированный файл через некоторое время? –

+0

Пожалуйста, попробуйте код, который извлекает материал непосредственно в переменную PHP (а не файл, который вы пытаетесь). Вот один такой пример: http://davidwalsh.name/download-urls-content-php-curl – aitchnyu

ответ

1

Параметр CURLOPT_RETURNTRANSFER, установленный в TRUE, заставляет curl возвращает свой вывод в виде строки, но ваш код не сохраняет этот вывод в любой переменной. Попробуйте что-то вроде этого:

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

Другая проблема заключается в том, что CURLOPT_STDERR устанавливает место для вывода ошибок, а не фактической передачи.

0

Скорее всего, у вас нет права на запись в текущий каталог, попробуйте использовать /tmp/test.txt, если вы еще не находитесь в сейфе или что-то еще в php.

Смежные вопросы