PHP视频文件上传的解决办法
内容摘要
这篇文章主要为大家详细介绍了PHP视频文件上传的简单示例,具有一定的参考价值,可以用来参考一下。
文章正文
这篇文章主要为大家详细介绍了PHP视频文件上传的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
本文以一个完整实例的形式实现了视频文件上传的功能。虽然是比较基础的应用,仍有一定的参考价值。分享给大家供大家参考之用。具体方法如下:
首先,对PHP来说视频也属于文件,我们利用这个道理,可以通过与上传普通文件类似的方式实现上传PHP视频文件。不同的是视频文件一般较大,上传时间长,而php配置文件也对上传文件的大小有限制。如果需要更好地用PHP实现文件上传,还是推荐使用FTP上传方式。
一、PHP处理代码如下:
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <code> <?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' ])) ? $_POST [ 'action' ] : '' ; $file = (isset( $_POST [ 'file' ])) ? $_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:]]([-_.]?[[: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 ; } ?></code> |
PHP实现视频文件上传完整实例
二、HTML代码如下:
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | <code> <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= "<?php echo $_SERVER['PHP_SELF'] ; ?>" > <input type= "hidden" name= "action" value= "upload" > <table border= "0" cellspacing= "1" cellpadding= "0" align= "center" class = "border" > <tr> <td> <?php if ( $message_true != '' ) func_message( $message_true , true); if ( $message_false != '' ) func_message( $message_false , false); ?> <table width= "100%" border= "0" cellspacing= "5" cellpadding= "2" align= "center" class = "box" > <?php for ( $nb = 1 ; $nb <= MUILTI_FILE_UPLOAD ; $nb ++ ){ ?> <tr class = "text" > <td>上传文件: <?php echo $nb ; ?></td> <td><input type= "file" name= "file_<?php echo $nb; ?>" ></td> <td>新文件名(包括扩展名):<?php echo $nb ; ?> </td> <td><input type= "text" name= "file_name_<?php echo $nb; ?>" ></td> </tr> <?php } ?> <tr> <td colspan= "2" align= "right" class = "text" > 上传目的地址:<?php echo FILE_UPLOAD_DIR ;?> <select name= "file" > <option value= "" ></option> <?php $repertoire = opendir(FILE_UPLOAD_DIR); while ( $file = readdir( $repertoire ) ) { $file = str_replace ( '.' , '' , $file ); if ( is_dir ( $file )) { ?> <option value= "<?php echo $file; ?>" > <?php echo $file ; ?>/</option> <?php } } closedir ( $repertoire ); ?> </select> </td> <td colspan= "2" align= "right" ><input type= "submit" value= "可同时上传<?php echo $nb-1; ?> 个文件 " ></td> </tr> </table> </td> </tr> </table> </form> </body> </html> </code> |
PHP实现视频文件上传完整实例
希望本文所述对大家的PHP程序设计有所帮助。
注:关于PHP视频文件上传的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释