php - 处理多维 $_FILES 数组

标签 php multidimensional-array

我有以下 $_FILES 数组用于从支持表单进行处理

Array
(
    [file] => Array
        (
            [name] => Array
                (
                    [0] => Test.jpg
                    [1] => Test.doc
                    [2] => Test.php
                    [3] => 
                )

            [type] => Array
                (
                    [0] => image/jpeg
                    [1] => image/jpeg
                    [2] => image/jpeg
                    [3] => 
                )

            [tmp_name] => Array
                (
                    [0] => /tmp/phpCO0vSD
                    [1] => /tmp/phpEFpp3Q
                    [2] => /tmp/phpwN4Iwc
                    [3] => 
                )

            [error] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                    [3] => 4
                )

            [size] => Array
                (
                    [0] => 1305787
                    [1] => 339773
                    [2] => 480098
                    [3] => 0
                )

        )

)

我的主要问题是理解处理数组所需的逻辑,检查每个文件是否有效(我已经有一个有效扩展名列表),然后适本地重命名和存储文件。

Google 和 SO 上的解决方案对于我的简单要求来说都相当复杂。

最佳答案

这是遍历数组的方式:

foreach ($_FILES['file']['name'] as $key => $name) {
    echo $name;
    echo $_FILES['file']['type'][$key];
    echo $_FILES['file']['tmp_name'][$key];
}

有了这个循环,你可以轻松地做你想做的事。

关于php - 处理多维 $_FILES 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7464893/

相关文章:

php - 让 PHP 和 MySQL 读取 url

php - 简单的 html dom 查找未指定的元素

c++ - 动态分配一个二维数组,其中每行包含可变数量的元素并在 C++ 中释放它

对象 "like"Filter 的 JavaScript 一维数组

c# - 复制 C# 多维数组元素的最有效方法是什么?

php - PHP 中的 !== 和 != 有什么区别?

php - zlib.output_compression off - 如何测试 PHP 压缩是否真的被禁用?

php - 为什么 PHP 的 float 0(零)显示时带符号?

PHP 在普通数组中推送关联数组

c++ - 如何在类中分配多维数组?当行 > 列时会抛出错误?