|
|
<?php |
|
|
namespace app\common\extend\upload; |
|
|
|
|
|
class Alibaba |
|
|
{ |
|
|
public $name = '阿里巴巴云存储'; |
|
|
public $ver = '1.0'; |
|
|
private $config = []; |
|
|
|
|
|
public function __construct($config = []) { |
|
|
$this->config = $config; |
|
|
} |
|
|
|
|
|
public function submit($file_path) |
|
|
{ |
|
|
$filePath = ROOT_PATH . $file_path; |
|
|
|
|
|
$url = 'https://kfupload.alibaba.com/kupload'; |
|
|
$data = []; |
|
|
$data['scene'] = 'aeMessageCenterV2ImageRule'; |
|
|
$data['name'] = 'player.jpg'; |
|
|
if (class_exists('CURLFile')) { |
|
|
$data['file'] = new \CURLFile(realpath($file_path)); |
|
|
} else { |
|
|
$data['file'] = '@'.realpath($file_path); |
|
|
} |
|
|
|
|
|
$ch = curl_init(); |
|
|
curl_setopt($ch, CURLOPT_URL, $url); |
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); |
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); |
|
|
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); |
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, 120); |
|
|
$httpheader[] = "Accept:application/json"; |
|
|
$httpheader[] = "Accept-Encoding:gzip,deflate,sdch"; |
|
|
$httpheader[] = "Accept-Language:zh-CN,zh;q=0.8"; |
|
|
$httpheader[] = "Connection:close"; |
|
|
$ip = mt_rand(48, 140) . "." . mt_rand(10, 240) . "." . mt_rand(10, 240) . "." . mt_rand(10, 240); |
|
|
$httpheader[] = 'CLIENT-IP:' . $ip; |
|
|
$httpheader[] = 'X-FORWARDED-FOR:' . $ip; |
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader); |
|
|
curl_setopt($ch, CURLOPT_POST, 1); |
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); |
|
|
curl_setopt($ch, CURLOPT_USERAGENT, 'Dalvik/2.1.0 (Linux; U; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012)'); |
|
|
curl_setopt($ch, CURLOPT_ENCODING, "gzip"); |
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
|
|
$html = @curl_exec($ch); |
|
|
curl_close($ch); |
|
|
$json = @json_decode($html,true); |
|
|
|
|
|
if($json['code']=='0'){ |
|
|
$file_path = $json['url']; |
|
|
empty($this->config['keep_local']) && @unlink($filePath); |
|
|
} |
|
|
|
|
|
return $file_path; |
|
|
} |
|
|
} |
|
|
|