Maison > développement back-end > tutoriel php > PHP intègre Qiniu pour télécharger des fichiers

PHP intègre Qiniu pour télécharger des fichiers

不言
Libérer: 2023-03-30 06:22:02
original
2192 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes sur l'intégration de Qiniu avec PHP pour réaliser le téléchargement de fichiers. Les amis qui en ont besoin peuvent s'y référer

Qiniu prend en charge la récupération de l'API d'image distante et utilise access_key + secret_key + url pour générer. access_token. Ajoutez le access_token à l'en-tête, puis téléchargez-le sur l'URL de la publication pour terminer le téléchargement.

Exemple de code :

<?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; 
  } 
} 
?>
Copier après la connexion

Ce qui précède est l'intégralité du contenu de cet article, j'espère que vous tous. j'aime ça.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal