国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison cadre php PensezPHP Comment ThinkPHP implémente les fonctions de téléchargement et de transcodage de Qiniu Cloud Storage

Comment ThinkPHP implémente les fonctions de téléchargement et de transcodage de Qiniu Cloud Storage

Apr 11, 2023 am 09:15 AM

Avec le développement continu de la technologie Internet, le stockage dans le cloud est de plus en plus largement utilisé, en particulier les sites Web vidéo et les sites Web audio. Ces sites Web offrent aux utilisateurs une visualisation ou une écoute en ligne, et derrière tout cela se trouve la technologie de stockage dans le cloud. Qiniu Cloud Storage, en tant que principal fournisseur national de services de stockage cloud, propose une large gamme d'applications dans l'industrie Internet, en particulier dans le téléchargement multimédia, le stockage, l'accélération et la distribution, etc., et offre de bonnes performances. Ainsi, dans cet article, nous utiliserons ThinkPHP comme exemple pour présenter les fonctions de téléchargement et de transcodage de Qiniu Cloud Storage.

1. Qu'est-ce que ThinkPHP

ThinkPHP est un framework PHP gratuit et open source créé par des développeurs chinois. Il permet aux développeurs de développer rapidement des applications grace à une configuration et un packaging simples. ThinkPHP prend pleinement en compte les besoins réels du développement Web et intègre vigoureusement d'excellents travaux dans la communauté open source pour répondre pleinement aux besoins des développeurs Web.

2. Qu'est-ce que Qiniu Cloud Storage?? Qiniu Cloud Storage est un fournisseur de services de stockage cloud rapide et simple qui vise à fournir aux utilisateurs des services de stockage cloud fiables, efficaces et sécurisés. Qiniu Cloud Storage peut fournir des services de stockage, de gestion et de distribution de fichiers multimédias. Les utilisateurs doivent uniquement télécharger leurs propres fichiers multimédias sur Qiniu Cloud Storage, et ils peuvent être accélérés via le CDN de Qiniu, permettant aux utilisateurs d'accéder à ces fichiers plus rapidement et plus facilement.

3. Comment ThinkPHP implémente le téléchargement de Qiniu Cloud Storage

Pour utiliser la fonction de téléchargement de Qiniu Cloud Storage dans le framework ThinkPHP, vous devez d'abord introduire la classe d'authentification et le SDK Qiniu Cloud Storage dans le cadre du projet pour traiter les informations d'authentification. pendant le téléchargement?:

require_once('Auth.php');
require_once('Config.php');
require_once('autoload.php');//引入七牛SDK

$accessKey?=?'可以從七牛后臺獲得';
$secretKey?=?'可以從七牛后臺獲得';

//鑒權(quán)對象
$auth?=?new?Auth($accessKey,?$secretKey);??

//生成上傳Token
$bucket?=?'要上傳的bucket名稱';//bucket名稱
$key?=?'要生成的文件名';//文件名稱
$options['returnBody']?=?'{"name":?$(fname),?"size":?$(fsize),?"hash":?$(etag),?"url":?"http://example.com/$(key)"}';//要返回的信息
$policy?=?array(
????'returnBody'??????=>??json_encode($options['returnBody']),//返回給客戶端的信息
????'saveKey'?????????=>??$key,//上傳的文件名
);
$upToken?=?$auth->uploadToken($bucket,?null,?3600,?$policy);//生成上傳Token

Après cela, utilisez le SDK Javascript de Qiniu Cloud Storage dans la page pour réaliser les fonctions de sélection de fichiers et de téléchargement?:

<script src="http://cdn.staticfile.org/plupload/2.1.1/plupload.full.min.js"></script>
<script type="text/javascript">
????//設(shè)置上傳參數(shù)
????var?uploader?=?new?plupload.Uploader({
????????browse_button:?'browse',?//觸發(fā)選擇文件對話框的按鈕
????????url:?'http://upload.qiniup.com/',?//服務(wù)器端的上傳頁面地址
????????flash_swf_url:?'path/of/plupload/Moxie.swf',//swf文件,用于解決跨域或不支持xhr2的瀏覽器上傳問題
????????silverlight_xap_url:?'path/of/plupload/Moxie.xap',//silverlight文件,用于解決跨域或不支持xhr2的瀏覽器上傳問題
????????chunk_size:?'4mb',//分塊上傳的塊大小
????????multi_selection:?false,//是否支持多選
????????filters:?{
????????????max_file_size:?'10mb',//最大文件大小
????????????mime_types:?[
??????????????{title:?"Image?files",?extensions:?"jpg,gif,png,jpeg,webp"},
??????????????{title:?"Video?files",?extensions:?"avi,mp4,mkv,flv,mov"},
??????????????{title:?"Audio?files",?extensions:?"mp3,wma,ogg,wav"},
????????????]//上傳文件類型限制
????????},
????????multipart:?true,//是否將文件分塊上傳
????????multipart_params:?{//通常只能上傳原始二進(jìn)制文件到流中,而文件的信息必須存在于HTTP請求的上下文中
????????????key:?'文件名稱',
????????????token:?'{$uptoken}',
????????}
????});

????//綁定觸發(fā)上傳的事件
????uploader.bind('FilesAdded',?function(up,?files)?{
???????uploader.start();//當(dāng)文件被添加到上傳隊列后開始上傳流程
????});

????//綁定上傳過程的事件
????uploader.bind('UploadProgress',?function(up,?file)?{
????????var?percent?=?file.percent;
????});

????//綁定上傳成功的事件
????uploader.bind('FileUploaded',?function(up,?file,?info)?{
????????var?result?=?JSON.parse(info.response);
????????console.log(result.url);//獲取上傳成功后的文件鏈接
????});

????//綁定上傳失敗的事件
????uploader.bind('Error',?function(up,?err)?{
????????if(err.code==-601){//文件格式不符合
???????????console.log('上傳失?。何募袷讲环弦?);
????????}else?if(err.code==-200){//文件太大
???????????console.log('上傳失敗:文件大小超出限制');
????????}else{
???????????console.log(err.message);//其他失敗信息
????????}
????});

????//啟動上傳
????uploader.init();
</script>

4 Comment ThinkPHP utilise la fonction de transcodage de Qiniu Cloud Storage

Pour certains sites Web vidéo et sites Web audio. etc., les fichiers audio et vidéo téléchargés par les utilisateurs doivent souvent être transcodés pour qu'ils répondent aux exigences du site Web. à ce stade, vous devez utiliser la fonction de transcodage de Qiniu Cloud Storage, qui peut automatiquement transcoder l'audio et la vidéo. et générer des liens de lecture dans divers formats permettent aux utilisateurs de regarder ou d'écouter en ligne. Dans le framework ThinkPHP, l'utilisation de la fonction de transcodage de Qiniu Cloud Storage nécessite l'installation du package composer. Utilisez composer pour installer :

composer?require?qiniu/php-sdk

Une fois l'installation terminée, le transcodage audio et vidéo peut être réalisé via le SDK PHP Pour des opérations de transcodage spécifiques, veuillez vous référer à :

require?__DIR__?.?'/vendor/autoload.php';
use?Qiniu\Auth;
use?Qiniu\Storage\BucketManager;
use?Qiniu\Storage\UploadManager;

$accessKey?=?'your?accessKey';
$secretKey?=?'your?secretKey';

//鑒權(quán)對象
$auth?=?new?Auth($accessKey,?$secretKey);

//空間名稱
$bucket?=?'your?bucket';

//文件保存鍵名
$key?=?'your?key';

//上傳文件的本地路徑
$filePath?=?'your?filepath';

//上傳的轉(zhuǎn)碼參數(shù)
$pfop?=?"avthumb/mp4";

//對于使用自己私有的codec庫時需要制定so路徑,?在<SoSdkPath>中填入so文件路徑。其他情況則沒必要,?該參數(shù)可以不填。
$encoding_codec_lib_path?=?null;

$urlbase64?=?\Qiniu\base64_urlSafeEncode($bucket?.?':'?.?$key);

//設(shè)置回調(diào)的URL地址
$notifyUrl?=?'http://yourdomain.com/callback.php';

//轉(zhuǎn)碼完成后回調(diào)指向的地址
$fops?=?$pfop.?'|saveas/'?.?\Qiniu\base64_urlSafeEncode("$bucket:$key")?.?'|notifyURL/'?.?$notifyUrl;

//初始化BucketManager
$config?=?new?\SDK\Qiniu\Config();
$config->zone?=?new?\SDK\Qiniu\Zone\Zhuanqu();
$bucketManager?=?new?BucketManager($auth,?$config);

//調(diào)用fetch方法拉取網(wǎng)絡(luò)上的一個資源,該資源用于轉(zhuǎn)碼,該方式不支持本地音視頻文件的轉(zhuǎn)碼處理
$fetchResult?=?$bucketManager->fetch($url,?$bucket,?$key,?$pfop);

if($fetchResult?!=?null){
????//上傳流程
????$uploadMgr?=?new?UploadManager($config);
????list($ret,?$err)?=?$uploadMgr->putFile($token,?$key,?$filePath?,null,$encoding_codec_lib_path);
????if?($err?!==?null)?{
????????echo?'上傳失敗:',?$err->message(),?"\n";
????}?else?{
????????echo?'上傳成功:',?$ret['key'],?"\n";

????????//持久化處理并等待處理結(jié)果
????????$persistentOps?=?$fops;//音視頻持久化處理的詳細(xì)指令,多個指令用;隔開
????????$pipeline?=?'';//進(jìn)行轉(zhuǎn)碼的隊列名稱,不傳此參數(shù)將使用默認(rèn)隊列
????????$force?=?true;//強(qiáng)制覆蓋已有的同名文件

????????//調(diào)用持久化處理接口實現(xiàn)音視頻轉(zhuǎn)碼等持久化操作(不支持本地音視頻文件的轉(zhuǎn)碼處理)。
????????list($ret,?$err)?=?$bucketManager->persistentFop($bucket,?$key,?$persistentOps,?$pipeline,?$force);
????????if?($err?!==?null)?{
????????????var_dump($err);
????????}?else?{
????????????var_dump($ret);
????????}
????}
}

5. Conclusion

J'espère que grace à l'introduction de cet article, tout le monde pourra avoir une compréhension plus approfondie des fonctions de téléchargement et de transcodage de Qiniu Cloud Storage, et réaliser les opérations de téléchargement et de transcodage de Qiniu Cloud Storage dans le cadre ThinkPHP. Pour apprendre une connaissance, ce n'est que par une pratique continue et un résumé que vous pourrez vraiment la ma?triser et l'appliquer librement.

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!

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276