Скручивание выводится на экран или не сохраняется как файл - PullRequest
0 голосов
/ 19 мая 2018

У меня есть следующий код:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $sourceURL);
curl_setopt($ch, CURLOPT_FILE, $dl_destination);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$curlResult = curl_exec($ch);
$cError = curl_error($ch);
curl_close($ch);

Кажется, это нормально работает в одном месте скрипта, но не в другом.В проблемной области он выведет содержимое файла на экран и сохранит файл.Без CURLOPT_RETURNTRANSFER он сохранит файл и выведет содержимое на экран.Если добавление CURLOPT_RETURNTRANSFER, как я прочитал, должно работать, оно не сохраняет файл и вместо этого помещает содержимое в $ curlResult.Мне просто нужно, чтобы сохранить файл без вывода на экран.

1 Ответ

0 голосов
/ 19 мая 2018

Получите данные, используя CURLOPT_RETURNTRANSFER, и сохраните их в переменной.Теперь используйте file_put_contents для записи данных в файл.

<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $sourceURL);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$curlResult = curl_exec($ch);
$cError = curl_error($ch);
curl_close($ch);

if(empty($cError)){
    if(file_put_contents($dl_destination,$curlResult)){
        echo "Data written to file successfully";
    }else{
        die("Could not write to file.");
    }
}else{
    die("Curl Error: " .$cError);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...