Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $\上传多个文件后,文件为空_Php_Image_File_Upload - Fatal编程技术网

Php $\上传多个文件后,文件为空

Php $\上传多个文件后,文件为空,php,image,file,upload,Php,Image,File,Upload,我正在尝试将多个文件上载到mysql数据库 一切正常,直到我超过7到8MB。很多互联网上的反应都说它应该与php.ini设置有关,所以我试着检查它们。我的php版本是5.2.17,代码如下: <?php include_once "mysql.php"; ?> <body> <form action="" method="post" enctype="multipart/form-data"> <label for="album">Album<

我正在尝试将多个文件上载到mysql数据库

一切正常,直到我超过7到8MB。很多互联网上的反应都说它应该与php.ini设置有关,所以我试着检查它们。我的php版本是5.2.17,代码如下:

<?php include_once "mysql.php"; ?>
<body>
<form action="" method="post" enctype="multipart/form-data">
<label for="album">Album</label>
<input type="text" id="album" name="album" /><br>
<label for="fotos">Foto's</label>
<input type="file" id="files" name="files[]" multiple accept="image/*" />
<input type="submit" value="Upload" />
</form>

<?php
echo "<br>upload_max_filesize: ".ini_get('upload_max_filesize');
echo "<br>post_max_size: ".ini_get('post_max_size');
echo "<br>memory_limit: ".ini_get('memory_limit');
echo "<br>realpath_cache_size: ".ini_get('realpath_cache_size');
echo "<br>realpath_cache_ttl: ".ini_get('realpath_cache_ttl');
$valid_formats = array("jpg", "png", "gif", "bmp");
$max_file_size = 6291456; //6MB
$count = 0;
$mysql = new MySQL; //own class
$mysql->db_connect();


if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
// Loop $_FILES to exeicute all files
foreach ($_FILES['files']['name'] as $index => $name) 
{  
    echo $index;
    $fotos[$index]['album'] = $_POST['album'];
    $fotos[$index]['name'] = $_FILES['files']['name'][$index];
    $fotos[$index]['type'] = $_FILES['files']['type'][$index];
    $fotos[$index]['tmp_name'] = $_FILES['files']['tmp_name'][$index];
    $fotos[$index]['error'] = $_FILES['files']['error'][$index];
    $fotos[$index]['size'] = intval($_FILES['files']['size'][$index]);
}

foreach ($fotos as $foto)
{
    if($foto['error'] == 0)
    {
        if($foto['size'] < $max_file_size)
        {
            $fp      = fopen($foto['tmp_name'], 'r');
            $content = fread($fp, filesize($foto['tmp_name']));
            $content = addslashes($content);
            fclose($fp);
            $mysql->qry("INSERT INTO albums (`album`, `type`, `name`, `img` ) VALUES ('".$foto['album']."', '".$foto['type']."', '".$foto['name']."', '".$content."')");
        }
        else
        {
            echo "File to big<br>";
            echo "file: ".$foto['size']." < Max: ".$max_file_size."<br>";
        }
    }
    else
    {
        echo "errorcode: ".$fotos['error'] . "<br>";
    }
}

$mysql->close();


echo "<pre>";
print_r($fotos);
echo "</pre>"; 
}
?>
</body>
我的ini_get输出是

上传最大文件大小:128M 立柱最大尺寸:128米 内存限制:256M realpath_缓存_大小:4M realpath\u缓存\u ttl:120
您迫切需要升级PHP版本。您正在使用的一个已不再维护,并且存在大量安全漏洞。@Gordon不幸的是,我无法控制它,我正在创建一个网站,但在所选的Web服务器上没有输入;FML。但是,如果我在自己的Web服务器上尝试此操作,我会遇到一个内部服务器错误。如果您的主机继续使用已经过时四年的PHP版本,那么就不能相信他们会认真对待远程安全问题!如果你不能说服他们升级,那么我建议找一台新主机。检查你的web服务器配置,请求大小的限制也适用于此。例如:阿帕奇: