$structure = './'.date("Y").'https://www.jb51.net/'.date("m").'https://www.jb51.net/'.date("d").'https://www.jb51.net/';
if (!mkdir($structure, 0777, true)) {
    die('Failed to create folders...');
}
move_uploaded_file($_FILES["file"]["tmp_name"],$structure . $_FILES["file"]["name"]);
6.情景三:多文件上传
复制代码 代码如下:
 <form action="" method="post" enctype="multipart/form-data">
 <p>Pictures:
 <input type="file" />
 <input type="file" />
 <input type="file" />
 <input type="submit" value="Send" />
 </p>
 </form>
复制代码 代码如下:
 <?php
 foreach ($_FILES["pictures"]["error"] as $key => $error) {
     if ($error == UPLOAD_ERR_OK) {
         $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
         $name = $_FILES["pictures"]["name"][$key];
         move_uploaded_file($tmp_name, "data/$name");
     }
 }
 ?>
有的情况下多文件的这种变量结构并不好用:
复制代码 代码如下:
array(1) {
    ["upload"]=>array(2) {
        ["name"]=>array(2) {
            [0]=>string(9)"file0.txt"
            [1]=>string(9)"file1.txt"
        }
        ["type"]=>array(2) {
            [0]=>string(10)"text/plain"
            [1]=>string(10)"text/html"
        }
    }
}
很多情况下我们需要的是类似这样的结构
复制代码 代码如下:
array(1) {
    ["upload"]=>array(2) {
        [0]=>array(2) {
            ["name"]=>string(9)"file0.txt"
            ["type"]=>string(10)"text/plain"
        },
        [1]=>array(2) {
            ["name"]=>string(9)"file1.txt"
            ["type"]=>string(10)"text/html"
        }
}
}
使用下面的函数就能轻松转化结构
复制代码 代码如下:
 function diverse_array($vector) { 
     $result = array(); 
     foreach($vector as $key1 => $value1) 
         foreach($value1 as $key2 => $value2) 
             $result[$key2][$key1] = $value2; 
     return $result; 
 } 
 $upload = diverse_array($_FILES["upload"]);
7. 有的时候:需要配置服务器修改最大上传文件大小
首先,在表单上
<input type="hidden" value="字节" />
可以限制上传文件大小(可以被绕过)。
然后在服务器上也需要调整一下配置
php.ini:
max_execution_time = 30 每个脚本运行的最长时间,单位秒
max_input_time = 60,每个脚本可以消耗的时间,单位也是秒
memory_limit = 128M,这个是脚本运行最大消耗的内存
post_max_size = 8M,表单提交最大数据为 8M,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的。
upload_max_filesize = 2M ,上载文件的最大许可大小
nginx:
复制代码 代码如下:
