Home  >  Article  >  Backend Development  >  Complete example of video file upload using PHP, _PHP tutorial

Complete example of video file upload using PHP, _PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:19:531173browse

Complete example of video file upload using PHP,

This article implements the function of uploading video files in the form of a complete example. Although it is a relatively basic application, it still has certain reference value. Share it with everyone for your reference. The specific method is as follows:

First of all, videos are also files for PHP. We use this principle to upload PHP video files in a similar way to uploading ordinary files. The difference is that video files are generally larger and take a long time to upload, and the PHP configuration file also limits the size of uploaded files.
If you need to better use PHP to upload files, it is recommended to use FTP upload method.

1. The PHP processing code is as follows:

<&#63;php
//设置最多允许10个文件同时上传
define('MUILTI_FILE_UPLOAD', '10');
//设置文件大小不超过5MB
define('MAX_SIZE_FILE_UPLOAD', '500000' );
//设置上传文件的存储目录
define('FILE_UPLOAD_DIR', '/fileUploads');
//允许上传的文件扩展名
$array_extention_interdite = array( '.flv' , '.wmv' , '.rmvb' , '.php' , '.php3' , '.php4' , '.exe' , '.msi' , '.htaccess' , '.gz' );
//显示信息的公共函数
function func_message($message='', $ok=''){
 echo '<table width="100%" cellspacing="0" cellpadding="0" border="0">';
 if($ok == true)
 echo '<tr><td width="50%"> '.$message.'</td></tr>' ;
 else
 echo '<tr><td width="50%"> '.$message.'</td></tr>';
 echo '</table>';  
}
//处理表单提交
$action = (isset($_POST['action'])) &#63; $_POST['action'] :'' ;
$file = (isset($_POST['file'])) &#63; $_POST['file'] :'' ;
if($file != '')
  $file = $file.'/';
$message_true = '';
$message_false = '';
switch($action){
 case 'upload' :  
 chmod(FILE_UPLOAD_DIR,0777);  
 for($nb = 1 ; $nb <= MUILTI_FILE_UPLOAD ; $nb ++ ){   
  if( $_FILES['file_'.$nb]['size'] >= 10 ){ 
  if ($_FILES['file_'.$nb]['size'] <= MAX_SIZE_FILE_UPLOAD ){ 
   if (!in_array(ereg_replace('^[[:alnum:]]([-_.]&#63;[[:alnum:]])*.' ,'.', $_FILES['file_'.$nb]['name'] ) , $array_extention_interdite) ){ 
           if($_POST['file_name_'.$nb] !='')
             $file_name_final = $_POST['file_name_'.$nb].$extension ;
           else
             $file_name_final = $_FILES['file_'.$nb]['name'] ;
           //修改文件名
           $file_name_final = strtr($file_name_final, 'aaaaaa', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); 
           $file_name_final = preg_replace('/([^.a-z0-1]+)/i', '_', $file_name_final ); 
           
           $_FILES['file_'.$nb]['name'] = $file_name_final;  
           //开始上传
           move_uploaded_file( $_FILES['file_'.$nb]['tmp_name'] , FILE_UPLOAD_DIR . $file . $file_name_final );
       
           $message_true .= '文件上传成功 : '.$_FILES['file_'.$nb]['name'] .'<br>'; 
        }else
           $message_false .= '文件上传失败 : '.$_FILES['file_'.$nb]['name'] .' <br>';
      }else
        $message_false .= '文件最大尺寸不能超过'.MAX_SIZE_FILE_UPLOAD/1000 . 'KB : "'.$_FILES['file_'.$nb]['tmp_name'].'" <br>';
    }
  }//end for
 break;
}
&#63;>

2. The HTML code is as follows:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<title>PHP文件上传</title>
<style type="text/css" rel="stylesheet" />
.border{
 background-color:#000000
}
.box{
 background-color:#f8f8f9;
}
.text{ 
 color:#000000;
 font-family: "宋体";
 font-size: 12px;
 font-weight:bold
}
input, select{
 font-size: 12px;
}
body{
  margin: 0;
}
</style>
<body>
 <!-- 文件上传表单,enctype属性是必须的 -->
 <form name="form" enctype="multipart/form-data" method="post" action="<&#63;php echo $_SERVER['PHP_SELF'] ; &#63;>">
 <input type="hidden" name="action" value="upload">
 <table border="0" cellspacing="1" cellpadding="0" align="center" class="border">
  <tr> 
  <td>
   <&#63;php
   if($message_true != '')
    func_message($message_true, true);
   if($message_false != '')
    func_message($message_false, false);
   &#63;>
   <table width="100%" border="0" cellspacing="5" cellpadding="2" align="center" class="box">
   <&#63;php 
    for($nb = 1 ; $nb <= MUILTI_FILE_UPLOAD ; $nb ++ ){ 
   &#63;>
   <tr class="text"> 
    <td>上传文件: <&#63;php echo $nb; &#63;></td> 
    <td><input type="file" name="file_<&#63;php echo $nb; &#63;>"></td>
    <td>新文件名(包括扩展名):<&#63;php echo $nb; &#63;> </td>
    <td><input type="text" name="file_name_<&#63;php echo $nb; &#63;>"></td>
   </tr>
   <&#63;php } &#63;>
   <tr> 
    <td colspan="2" align="right" class="text">
    上传目的地址:<&#63;php echo FILE_UPLOAD_DIR ;&#63;>
     <select name="file">    
     <option value=""></option>
     <&#63;php 
     $repertoire = opendir(FILE_UPLOAD_DIR); 
     while( $file = readdir($repertoire) ) { 
      $file = str_replace('.','',$file);
      if( is_dir($file)) { 
     &#63;> 
     <option value="<&#63;php echo $file; &#63;>"> <&#63;php echo $file; &#63;>/</option>
     <&#63;php 
       } 
     } 
     closedir($repertoire); 
     &#63;>
    </select>
    </td>
    <td colspan="2" align="right"><input type="submit" value="可同时上传<&#63;php echo $nb-1; &#63;> 个文件 "></td>
   </tr>
   </table>
  </td>
  </tr>
 </table>
 </form>  
</body>
</html>

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/871101.htmlTechArticlePHP implements a complete example of uploading video files. This article implements the function of uploading video files in the form of a complete example. Although it is a relatively basic application, it still has certain reference value. Points...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn