关于视频文件上传服务器的代码片段

下面是一个代码片段,用于form表单上传视频文件。

HTML部分:

  1. <html>
  2. <form method="post" action="test1.php" enctype="multipart/form-data">
  3.     <input type="file" name="videos">
  4.     <input type="submit" value="上传">
  5. </form>
  6. </html>

PHP部分:

  1. <?php
  2. /**
  3.  * Function:接收视频文件并存储
  4.  */
  5. set_time_limit(0);
  6. $path = $_SERVER['DOCUMENT_ROOT']."/uploads/videos";
  7. $max_size = 20971520; //20Mb限制
  8. $allow_file_type = ['mov','mp4','wmv','rm','rmvb','mpg','flv','swf'];
  9.     if(!emptyempty($_FILES['videos'])){
  10.         if($_FILES['videos']['size'] >= $max_size){
  11.             echo json_encode(['errcode'=>"fail",'msg'=>"上传文件不能超过20M"]);
  12.         }
  13.         $file_ext = pathinfo($_FILES['videos']['name']);
  14.         if(in_array($file_ext['extension'],$allow_file_type)){
  15.             $uploaded_file=$_FILES['videos']['tmp_name'];
  16.             if(!file_exists($path)){
  17.                 mkdir($path,0777,true);
  18.             }
  19.             $file_true_name=$_FILES['videos']['name'];
  20.             $move_dir = $path."/".time().rand(1,1000).substr($file_true_name,strrpos($file_true_name,"."));
  21.             if(move_uploaded_file($uploaded_file,iconv("utf-8","gb2312",$move_dir))){
  22.                 $file_path = pathinfo($move_dir);
  23.                 $file_url = "/uploads/videos/".$file_path['basename'];
  24.                 echo json_encode(['errcode'=>"ok",'msg'=>"上传成功",'file_url'=>$file_url]);
  25.             }else{
  26.                 echo json_encode(['errcode'=>"fail",'msg'=>"上传失败"]);
  27.             }
  28.         }else{
  29.             echo json_encode(['errcode'=>"fail",'msg'=>"文件类型有误"]);
  30.         }
  31.     }else{
  32.         echo json_encode(['errcode'=>"fail",'msg'=>"上传文件不能为空"]);
  33.     }
  34. exit;

上传视频需要注意的是前端数据提交方式必须和后台保持一致,否则就会出现提交数据,后台获取不到的情况。

 

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!