Heim  >  Artikel  >  Backend-Entwicklung  >  PHP integriert Qiniu zum Hochladen von Dateien

PHP integriert Qiniu zum Hochladen von Dateien

不言
不言Original
2018-06-06 11:26:092093Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zur Integration von Qiniu mit PHP vorgestellt, um das Hochladen von Dateien zu ermöglichen. Freunde, die es benötigen, können darauf verweisen.

Qiniu unterstützt das Abrufen der Remote-Image-API mithilfe von access_key + Secret_key + URL zum Generieren von access_token . Fügen Sie das access_token zum Header hinzu und laden Sie es dann in die Beitrags-URL hoch, um den Upload abzuschließen.

Beispielcode:

<?php 
/* 
 * 
 * @desc URL安全形式的base64编码 
 * @param string $str 
 * @return string 
 */ 
 
 
function urlsafe_base64_encode($str){ 
  $find = array("+","/"); 
  $replace = array("-", "_"); 
  return str_replace($find, $replace, base64_encode($str)); 
} 
 
/** 
 * generate_access_token 
 * 
 * @desc 签名运算 
 * @param string $access_key 
 * @param string $secret_key 
 * @param string $url 
 * @param array $params 
 * @return string 
 */ 
function generate_access_token($access_key, $secret_key, $url, $params = &#39;&#39;){ 
  $parsed_url = parse_url($url); 
  $path = $parsed_url[&#39;path&#39;]; 
  $access = $path; 
  if (isset($parsed_url[&#39;query&#39;])) { 
    $access .= "?" . $parsed_url[&#39;query&#39;]; 
  } 
  $access .= "\n"; 
  if($params){ 
    if (is_array($params)){ 
      $params = http_build_query($params); 
    } 
    $access .= $params; 
  } 
  $digest = hash_hmac(&#39;sha1&#39;, $access, $secret_key, true); 
  return $access_key.&#39;:&#39;.urlsafe_base64_encode($digest); 
} 
 
/** 
 * 测试 
 */ 
 
$access_key = &#39;&#39;&#39;your access_key&#39;; 
$secret_key = &#39;your secret_key&#39;; 
 
$fetch = urlsafe_base64_encode(&#39;http://203.208.46.200/images/srpr/logo11w.png&#39;); 
$to = urlsafe_base64_encode(&#39;ibeircn:11.jpg&#39;); 
 
$url = &#39;http://iovip.qbox.me/fetch/&#39;. $fetch .&#39;/to/&#39; . $to; 
 
$access_token = generate_access_token($access_key, $secret_key, $url); 
 
$header[] = &#39;Content-Type: application/json&#39;; 
$header[] = &#39;Authorization: QBox &#39;. $access_token; 
 
 
$con = send(&#39;iovip.qbox.me/fetch/&#39;.$fetch.&#39;/to/&#39;.$to, $header); 
var_dump($con); 
 
function send($url, $header = &#39;&#39;) { 
  $curl = curl_init($url); 
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
  curl_setopt($curl, CURLOPT_HEADER,1); 
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 
  curl_setopt($curl, CURLOPT_POST, 1); 
 
  $con = curl_exec($curl); 
 
  if ($con === false) { 
    echo &#39;CURL ERROR: &#39; . curl_error($curl); 
  } else { 
    return $con; 
  } 
} 
?>

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er gefällt euch allen .

Das obige ist der detaillierte Inhalt vonPHP integriert Qiniu zum Hochladen von Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn