示例#1
0
 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);
 }
示例#2
0
 /**
  * 请求一个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;
 }