PHP - какой самый быстрый и лучший способ получить HTML-контент - PullRequest
0 голосов
/ 17 ноября 2018

Я должен прочитать URL-адрес HTML-контента около ~ 1 МБ, а именно 926 КБ. И я уже создаю 2 функции.

URL-адрес с размером файла ~ 1 МБ:

https://example.com/html_1MB_Content.html

А вот две функции, которые я создал:

function getContent1 ($url) {
    $file_handle = fopen($url, "r");
    while (!feof($file_handle)) {
       $line = fgets($file_handle);
            echo $line;
    }
    fclose($file_handle);
}

function getContent2 ($url) {
    $handle = curl_init($url);
    curl_setopt_array($handle, array(
        CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
        CURLOPT_ENCODING => '', 
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_FOLLOWLOCATION => 1
    ));
    $curl_response = curl_exec($handle);
    curl_close($handle);
    return $curl_response;
}

$testUrl = 'https://example.com/html_1MB_Content.html';

$result1 = getContent1 ($testUrl);

$result2 = getContent2 ($testUrl);

Я хочу быстрее и меньше памяти . Что лучше в этом случае?

В любом случае, еще один вопрос - читать содержимое страницы снизу вверх, если найденные данные перестают читать?

1 Ответ

0 голосов
/ 17 ноября 2018

если вы хотите знать, сколько времени занимает выполнение вашего кода, вы можете использовать эти несколько кодов ..

//put this to the start of your code..
$time_start = microtime(true); 

//here goes your code...

//and put this to the end of your code...
echo 'Total execution time in seconds: ' . (microtime(true) - $time_start).'. memory used in kb : '.echo memory_get_usage();

это покажет вам время выполнения в секундах и размер используемой памяти в КБ ...

...