Maison  >  Article  >  développement back-end  >  Comment implémenter le téléchargement de vidéos en php

Comment implémenter le téléchargement de vidéos en php

藏色散人
藏色散人original
2020-08-12 10:54:095507parcourir

Comment télécharger une vidéo en PHP : ouvrez d'abord le fichier de configuration "php.ini" et modifiez les paramètres pertinents ; puis utilisez "XHR2" pour couper et télécharger le fichier puis déplacez le fichier vidéo vers l'emplacement souhaité ; ;Enfin, ajoutez la vidéo à la base de données.

Comment implémenter le téléchargement de vidéos en php

Recommandé : "Tutoriel vidéo PHP"

Le téléchargement de vidéos PHP est super simple

Tout d'abord, parce que les vidéos sont généralement volumineuses, il faut d'abord modifier la configuration PHP : il existe deux méthodes :

Méthode 1 : Ouvrir : php.ini

Modifiez la configuration de téléchargement à l'intérieur, recherchez les paramètres suivants et modifiez-les dans l'ordre

file_uploads = On
  upload_tmp_dir = "d:/fileuploadtmp"
  upload_max_filesize = 50M
  post_max_size = 100M
  max_execution_time = 600
  max_input_time = 600
  memory_limit = 128M

Méthode 2 : Utilisez les fonctions php pour apporter des modifications

ini_get () pour obtenir la valeur du paramètre php .ini

ini_set() définit php.ini

Supposons que vous souhaitiez télécharger un gros fichier de 50 Mo. Configurez php.ini comme suit :

file_uploads = On
 upload_tmp_dir = "d:/fileuploadtmp"
 upload_max_filesize = 50M
 post_max_size = 100M
 max_execution_time = 600
 max_input_time = 600
 memory_limit = 128M

Astuce : Vous devez conserver memory_limit > post_max_size > upload_max_filesize

:::::::::: ::::: :Ligne de démarcation universelle::::::::::::::::::::::::::::

Hypothèse : Le fichier vidéo l'est également grand, il faut le couper

Utiliser XHR2 pour couper et télécharger des fichiers

Le code spécifique est le suivant :

var fileobj = document.getElementByTagName('input')[i].files[0];//获取文件上传对象的文件资源
const SLICESIZE = 10 * 1024 * 1024;//每次切割的大小,这里是10MB//此处可做修改
var start = 0;   //初始化截取开始位置
var end = 0;   //初始化截取终止位置
totalsize = fileobj.size; //获取文件的总的大小
while(start < totalsize){ //利用while循环将文件进行截取提交
start = end ; //
end = start + SLICESIZE; //
 
var xhr = new XMLHttpRequest(); //创建ajax对象
 
var fd = new FormData(); //创建表单对象
 
var part = fileobj.slice(start,end);//对文件进行切割,两个参数
 
fd.append(&#39;name&#39;,part);//把切割文件打包进表单对象中以便发送,其中name的值就是服务器$_FILES[&#39;name&#39;]接受处的变量名
xhr.open(&#39;POST&#39;,&#39;test.php&#39;,false);//之所以关闭异步,是为了防止文件块送达服务器的顺序出错
 
xhr.send(fd);//把打包的数据发送
}

Allez sur la page php pour commencer à recevoir la valeur

À ce moment, le fichier vidéo est transféré vers upload/data/videp/demo.mov

Ensuite, parlons-en. Déplacez le fichier vers l'emplacement souhaité

Parce que je n'ai toujours pas réussi à utiliser move_uploaded_file (vous pouvez l'essayer), je me demandais si je pouvais renommer ce fichier temporaire.

J'essaie d'utiliser rename

pour stocker la vidéo dans la base de données

et l'afficher au premier plan en utilisant le paramètre

{if $brand_video}
     <embed src="http://www.ecshop.com/data/video/{$brand_video}" sutostart=true loop=true width=800 height=600></embed>
{/if}

analyse : sutostart : S'il faut jouer automatiquement

Loop : S'il faut boucler ou non

Je ne dirai pas la largeur et la hauteur, tout le monde le sait.

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:
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