【问题标题】:cant upload large files不能上传大文件
【发布时间】:2016-08-04 14:18:54
【问题描述】:

我有一个用于上传视频的简单脚本。它适用于 16mb 的文件,但比未上传的文件更大。我在 xampp localhost 上使用它。

我已尝试更改 post_max_size 和 upload_max_size 的值,但它没有 没用。

上传大文件时没有任何反应,代码不会执行,如果其他部分也没有。请看下面的代码:

if(isset($_POST['upload_btn']))
{

    $q3="select uid from user_profile where username='$uname'";
    $row=mysql_fetch_assoc(mysql_query($q3));
    $id=$row['uid'];

    $name=$_FILES['file']['name'];
    $desc=$_POST['vid_desc'];

    $type_temp=$_FILES['file']['type'];
    $type=substr($type_temp,-3);

    $size=$_FILES['file']['size']/1024/1024;

    $temp=$_FILES['file']['tmp_name'];

    if($_POST['vid_title']=="")
    {
        $name=$_FILES['file']['name'];
    }
    else
    {
        $_FILES['file']['name']=$_POST['vid_title'];
        $name=$_FILES['file']['name'].".".$type;
    }

    if($_FILES['file']['type']=="video/mp4"||$_FILES['file']['type']=="video/flv"||$_FILES['file']['type']=="video/avi"&&$_FILES['file']['size']>=0)
    {

        $row=mysql_fetch_assoc(mysql_query("select uid from user_profile where username='$uname'"));
        $uid=$row['uid'];

        $query="insert into video_info(vid_title,vid_desc,vid_type,vid_size,uid) values('$name','$desc','$type','$size',$uid)";
        mysql_query($query);

        move_uploaded_file($temp,"videos/".$name);

        ?>
        <script type="text/javascript">
        document.getElementById("success").innerHTML = "Video uploaded successfully!!!";
        //alert("Video uploaded successfully!!!");</script>
        <?php
    }
    else
    {
        ?>
        <script type="text/javascript">
        document.getElementById("error").innerHTML = "<style='color:red;'>Format not supported!! Supported formats are .mp4, .flv, .avi";
        //alert("");</script>
        <?php
    }

}

谢谢,希望有人能帮我解决这个问题。

【问题讨论】:

  • 然后检查错误代码。
  • 没有执行任何错误代码。
  • document.getElementById("error")这不是我在说的,我是说这个php.net/manual/en/features.file-upload.errors.php
  • 我没有看到 $_FILES['file']['error'] 值的任何用途。如果您查看该代码并将代码与the manual 匹配,您可能能够诊断出您自己的问题您可以将一个人引向错误代码,但您不能让他阅读并使用它
  • @RiggsFolly 马呢?

标签: php file-upload upload php-ini


【解决方案1】:

检查您的 php.ini 文件,您应该有 2 个,一个用于 CLI,另一个用于 apache(如果那是您的堆栈)。从您的问题来看,您只编辑了一个 php.ini 文件。编辑它们以满足您的需要。您应该编辑的值是:

upload_max_filesize = 10M

更改为您需要的任何内容。此外,您可能会对此设置感兴趣:

Maximum number of files that can be uploaded via a single request
max_file_uploads = 20

编辑后重启 apache。

【讨论】:

  • 供将来参考max_upload_filesize 使用的空间是post_max_size 的一部分,因此当您增加max_upload_filesize 时,请确保@ 987654326@ 大于 max_upload_filesize。更大,因为您还需要允许 &lt;form&gt; 上的其他 &lt;input&gt; 字段使用的空间 此外,如果涉及大量或大型文件,可能需要查看 max_input_time
  • @visualex 非常感谢!!它确实解决了我的问题。
  • @NathaOdedara 真棒,考虑到 Riggs 评论的细节
  • 是的,谢谢@RiggsFolly,我会记住这一点。 :D
  • @NathaOdedara 请标记正确答案并关闭问题
猜你喜欢
  • 2015-03-19
  • 2015-01-22
  • 2015-03-17
  • 2020-07-12
  • 1970-01-01
  • 2011-07-09
  • 1970-01-01
  • 2020-08-14
  • 2011-12-04
相关资源
最近更新 更多