|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-04-16 09:12 UTC] requinix@php.net
-Status: Open
+Status: Feedback
[2016-04-16 09:12 UTC] requinix@php.net
[2016-04-24 04:22 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 15:00:01 2025 UTC |
Description: ------------ PHP 5.5.30 (cgi-fcgi) Test script: --------------- ini_set('memory_limit', '-1');//no limit for update file on download. $fp= fopen("$base.tmp", "wb"); $para=[CURLOPT_FILE=> $fp, CURLOPT_BINARYTRANSFER=> FALSE, CURLOPT_FOLLOWLOCATION=>true , CURLOPT_RETURNTRANSFER=> FALSE, CURLOPT_CONNECTTIMEOUT=> 10 ]; if(!empty($config['update_config']['max_recv_speed'])) $para[CURLOPT_MAX_RECV_SPEED_LARGE]= intval($config['update_config']['max_recv_speed'])*1024; $o=CallAPI("GET",$url,FALSE,$para); fclose($fp); ----------------------------------------------------------------------- function CallAPI($method, $url, $data = false,$para=[]) { $curl = curl_init(); switch ($method) { case "POST": curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Expect:' ) ); if ($data) curl_setopt($curl, CURLOPT_POSTFIELDS, $data); break; case "PUT": curl_setopt($curl, CURLOPT_PUT, 1); break; default: if ($data) $url = sprintf("%s?%s", $url, http_build_query($data)); } // Optional Authentication: // curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); // curl_setopt($curl, CURLOPT_USERPWD, "username:password"); //progress if(function_exists("progress")){ curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, 'progress'); curl_setopt($curl, CURLOPT_NOPROGRESS, false); } curl_setopt($curl, CURLOPT_URL, $url); if(!empty($para)){ foreach ($para as $k=>$v) curl_setopt($curl,$k,$v); } if(empty($para[CURLOPT_RETURNTRANSFER])) curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); curl_close($curl); return $result; }