Unverified Commit 73ba0301 by benbenalin Committed by GitHub

use curl instead of file_get_contents

Due to the design of the file_get_contents function, sometimes getting external content will be very slow. You should use curl instead if possible. For details, see here: https://stackoverflow.com/questions/3629504/php-file-get-contents-very- slow-when-using-full-url
parent 1971c3e1
...@@ -1840,15 +1840,22 @@ function qa_retrieve_url($url) ...@@ -1840,15 +1840,22 @@ function qa_retrieve_url($url)
return ''; return '';
} }
$contents = @file_get_contents($url); $contents = '';
// Due to the design of the file_get_contents function, sometimes getting external content will be very slow.
if (!strlen($contents) && function_exists('curl_exec')) { // try curl as a backup (if allow_url_fopen not set) // You should use curl instead if possible. For details, see here:
$curl = curl_init($url); // https://stackoverflow.com/questions/3629504/php-file-get-contents-very- slow-when-using-full-url
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); if (function_exists('curl_exec')) {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $curl = curl_init($url);
$contents = @curl_exec($curl); curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_close($curl); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
} $contents = @curl_exec($curl);
curl_close($curl);
}
if (!strlen($contents)) {
$contents = @file_get_contents($url);
}
return $contents; return $contents;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment