使用PHP将视频上传到服务器

时间:2013-03-20 10:20:44

标签: php video

我有想要上传到服务器的视频我用于上传的音频文件的相同代码但是当我上传视频文件时它没有上传

      <?php
      $uploaddir = 'pro/';
      $file = basename($_FILES['userfile']['name']);
      $uploadfile = $uploaddir . $file;

      if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
      echo "OK";
     } 
     else {
     echo "ERROR";
     }
    ?>

2 个答案:

答案 0 :(得分:2)

如果您的文件很大,

两个PHP配置选项控制最大上传大小:upload_max_filesizepost_max_size。对于10兆字节的文件大小,两者都可以设置为“10M”。

但是,您还需要考虑完成上传所需的时间。 PHP脚本通常会在30秒后超时,但10MB文件在健康的宽带连接上上传至少需要3分钟(请记住,上传速度通常比下载速度慢5倍)。此外,操纵或保存上载的图像也可能导致脚本超时。因此,我们需要将PHP的max_input_time和max_execution_time设置为300(以秒为单位指定5分钟)

在.htaccess中添加此代码,

php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 300
php_value max_execution_time 300

或者您可以使用ini_set

在php页面中进行设置
ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);

参考:http://www.sitepoint.com/upload-large-files-in-php/

答案 1 :(得分:1)

您还可以检查应指定文件大小的答案stackoverflow.com/questions/14076929/php-image-upload-script。它可能是默认文件大小问题。

  <?php
  $uploaddir = 'pro/';
      $max_filesize = 10485760;
     //you should specify the value you want to be maximum of video.

    if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
   die('The file you attempted to upload is too large.');

     $file = basename($_FILES['userfile']['name']);
      $uploadfile = $uploaddir . $file;

      if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
      echo "OK";
     } 
     else {
     echo "ERROR";
     }
  ?>