Не загружаются фото больше 1 мб PHP
При загрузке фото на сервер не добавляются изображения больше 1мб. В чем может быть проблема?
$arr=array();
//ширина и высота в пикселях
$pic_weight = 15000;
$pic_height = 15000;
if ($_FILES)
{
//пролистываем весь массив изображений по одному $_FILES['file']['name'] as $k=>$v
foreach ($_FILES['file']['name'] as $k=>$v)
{
//директория загрузки
$uploaddir = $_SERVER['DOCUMENT_ROOT']."/content/gallery/";
//новое имя изображения
$apend=date('YmdHis').rand(100,1000).'.png';
//путь к новому изображению
$uploadfile = "$uploaddir$apend";
//Проверка расширений загружаемых изображений
if($_FILES['file']['type'][$k] == "image/jpg" || $_FILES['file']['type'][$k] == "image/png" || $_FILES['file']['type'][$k] == "image/jpeg")
{
//черный список типов файлов
$blacklist = array(".php", ".phtml", ".php3", ".php4");
foreach ($blacklist as $item)
{
if(preg_match("/$item\$/i", $_FILES['file']['name'][$k]))
{
echo "Нельзя загружать скрипты.";
exit;
}
}
//перемещаем файл из временного хранилища
if (move_uploaded_file($_FILES['file']['tmp_name'][$k], $uploadfile))
{
//получаем размеры файла
$size = getimagesize($uploadfile);
//проверяем размеры файла, если они нам подходят, то оставляем файл
if ($size[0] < $pic_weight && $size[1] < $pic_height)
{
$arr[$apend] = "$apend";
echo "<div class='green-result'>Файл ($apend) загружен.</div><br/>";
}
//если размеры файла нам не подходят, то удаляем файл unlink($uploadfile);
else
{
echo "<div class='red-result'>Размер пикселей превышает допустимые нормы.</div><br/>";
unlink($uploadfile);
}
}
else
echo "<div class='red-result'>Файл не загружен, вернитесь и попробуйте еще раз.</div><br/>";
}
else
echo "<div class='red-result'>Можно загружать только изображения в форматах jpg, jpeg, gif и png.</div><br/>";
}
}
Ответы (1 шт):
Автор решения: Dmitriy Belousov
→ Ссылка
Проверил на ошибки вот таким образом:
Ошибка была в ограничениях в самой форме:
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
foreach ($_FILES['file']['error'] as $key => $error)
{
if ($error == UPLOAD_ERR_OK)
{
echo 'Ошибок не возникло, файл был успешно загружен на сервер';
}
else if ($error == UPLOAD_ERR_INI_SIZE)
{
echo 'Размер принятого файла превысил максимально допустимый размер, который задан директивой upload_max_filesize конфигурационного файла php.ini.';
}
else if ($error == UPLOAD_ERR_FORM_SIZE)
{
echo 'Размер загружаемого файла превысил значение MAX_FILE_SIZE, указанное в HTML-форме.';
}
else if ($error == UPLOAD_ERR_PARTIAL)
{
echo 'Загружаемый файл был получен только частично.';
}
else if ($error == UPLOAD_ERR_NO_FILE)
{
echo 'Файл не был загружен.';
}
else if ($error == UPLOAD_ERR_NO_TMP_DIR)
{
echo 'Отсутствует временная папка. Добавлено в PHP 5.0.3.';
}
else if ($error == UPLOAD_ERR_CANT_WRITE)
{
echo 'Не удалось записать файл на диск. Добавлено в PHP 5.1.0.';
}
else if ($error == UPLOAD_ERR_EXTENSION)
{
echo 'PHP-расширение остановило загрузку файла. PHP не предоставляет способа определить, какое расширение остановило загрузку файла; в этом может помочь просмотр списка загруженных расширений с помощью phpinfo(). Добавлено в PHP 5.2.0.';
}
}