public static function download($url, $file) { Wind::import('WIND:http.transfer.WindHttpCurl'); $http = new WindHttpCurl($url); WindFolder::mkRecur(dirname($file)); $fp = fopen($file, "w"); $opt = array(CURLOPT_FILE => $fp, CURLOPT_HEADER => 0, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false); $http->send('GET', $opt); if ($e = $http->getError()) { return array(false, $e); } $http->close(); fclose($fp); return array(true, $file); }
/** * 请求一个Aclude数据信息 * * @param array $args * @param string $tmpdir */ public static function requestAcloudData($url, $tmpdir = '') { Wind::import('WIND:http.transfer.WindHttpCurl'); $http = new WindHttpCurl($url); if ($tmpdir !== '') { WindFolder::mkRecur($tmpdir); $_tmp = $tmpdir . '/tmp.' . Pw::getTime(); $fp = fopen($_tmp, "w"); $opt = array(CURLOPT_FILE => $fp, CURLOPT_HEADER => 0, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false); $http->send('GET', $opt); if ($error = $http->getError()) { return array(false, $error); } $info = $http->getInfo(); $realname = basename($info["url"]); $http->close(); fclose($fp); chmod($_tmp, 0766); if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { copy($_tmp, $tmpdir . DIRECTORY_SEPARATOR . $realname); } else { rename($_tmp, $tmpdir . DIRECTORY_SEPARATOR . $realname); } $result = array(true, $tmpdir . '/' . $realname); } else { $result = $http->send('GET', array(CURLOPT_FOLLOWLOCATION => true)); $result && ($result = WindJson::decode($result)); } return $result; }