首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超全局$_FILES数组错误元素

超全局$_FILES数组错误元素
EN

Stack Overflow用户
提问于 2014-12-31 09:19:04
回答 1查看 74关注 0票数 0

在$_FILES数组中,如何确定error元素的含义?

它输出一个1,这意味着它遇到了一个错误,但是我如何才能找出这是什么错误,特别是我可以处理它呢?

否则我就卡住了,error =1是无用的,因为它没有给我太多关于如何补救这种情况的信息。

(基本上,除了表示存在错误的1值之外,是否还有其他方法可以从错误数组元素中提取更多信息)。如果没有这样的方法来找出错误是什么,还有什么方法可以找出为什么我的文件没有正确上传?

这是我尝试过的:

代码语言:javascript
复制
<?php
if(isset($_FILES['file'])) {
    $file = $_FILES['file'];

    //File properties
    $file_name = $file['name'];
    $file_tmp = $file['tmp_name'];
    $file_size = $file['size'];
    $file_error = $file['error'];

    //Work out the file extension
    $file_ext = explode('.', $file_name);
    $file_ext = strtolower(end($file_ext));

    $allowed = array('txt', 'jpg', 'mp3', 'mpeg3', 'mpeg', 'mpeg-3', 'zip');

    if(in_array($file_ext, $allowed)){
        if($file_error == 0){
            if($file_size <= 10000000){

                $file_name_new = uniqid('', true) . '.' . $file_ext;
                $file_destination = 'uploads/' . $file_name_new;

                if(move_uploaded_file($file_tmp, $file_destination)){
                    echo $file_destination;
                }
            }
        }
        else{
            echo $file_error;
        }
    }
}
?>

<!doctype html>
<html>
<body>
<br><br>
Click <a href='./member.php'>here</a> to go back to the member page
<br><br>
<?php 
    if(isset($_POST['upload'])) {
        echo "<pre>";
        print_r($_FILES);
        echo "</pre>";
    }

?>
</body>
</html>

这是它为mp3文件输出的内容:1

单击此处返回到成员页面

=> (文件大小阵列( name => soundfile.mp3 type => tmp_name => error => 1 size => 0)

)

EN

回答 1

Stack Overflow用户

发布于 2014-12-31 09:36:58

(1)表示上传的文件超过了上传的最大文件大小。大小是2M,我敢肯定你的mp3文件比这个还要大。

要更改此指令,您有两种选择:

1-从php.ini (如果您不知道它在哪里,可以使用phpinfo()函数),更改upload_max_filesize = 16M,然后重新启动服务器。

2 -From你的htaccess文件:php_value upload_max_filesize 16M

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27714952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档