Maison >développement back-end >Problème PHP >Comment implémenter le téléchargement de vidéos en php
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.
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('name',part);//把切割文件打包进表单对象中以便发送,其中name的值就是服务器$_FILES['name']接受处的变量名 xhr.open('POST','test.php',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!