1

我有视频,我想将其上传到服务器,该代码与我用于上传音频文件的代码相同,但是当我上传视频文件时,它不会上传

      <?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";
     }
    ?>
4

2 回答 2

2

如果你的文件很大,

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

但是,您还需要考虑完成上传所需的时间。PHP 脚本通常会在 30 秒后超时,但在正常的宽带连接上上传一个 10MB 的文件至少需要 3 分钟(请记住,上传速度通常比下载速度慢五倍)。此外,操作或保存上传的图像也可能导致脚本超时。因此,我们需要将 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

或者您可以使用 php 页面本身进行设置ini_set

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/

于 2013-03-21T04:28:14.500 回答
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";
     }
  ?>
于 2013-03-20T10:40:56.203 回答