Здравствуйте! Я закачиваю файлы на сервер через форму. Возникла такая проблема: закачка ограничивается апачем до 2 Мб с носа, меня это очень даже устраивает. Но! Возникла такая проблема, когда я пытаюсь закачать файл размеров более 2Мб, то никак не могу отловить ошибку, чтобы сообщить пользователю, что надо бы файл сделать размером поменьше перез закачкой, подскажите как это решить. $_FILES['userfile']['size'] - не помогает....
Вот, что я пытаюсь //Загрузка нелскольких файлов $path=GetCWD()."\zakaz"; // Проверяем на существование папку $path if(!file_exists($path)) echo 'Пожалуйста, создайте папку '.$path.'и повторите попытку загрузить файл. <br><br>'; for ($i=0; $i<count($text); $i++) { if (!empty($_FILES["text"]["tmp_name"][$i])) //проверяем на наличе в поле формы { if ($_FILES["text"]["size"][$i]<(1024*1024*1.99))//Ограничиваем размер закачиваемых фалов до 2Мб { if(!is_uploaded_file($_FILES['text']['tmp_name'][$i])) echo 'Файл не был загружен на сервер! Попробуйте повторить попытку'; // Если файл удачно загружён на сервер, делаем вот что... else { // Переносим загружённый файл в папку $path if(@copy($_FILES['text']['tmp_name'][$i],$path."/".$_FILES['text']['name'][$i])) echo 'Файл '.$_FILES['text']['name'][$i].'загружен, размер='.$_FILES["text"]["size"][$i].'<br><br>'; // Если не удалось перенести файл, выводим ошибку: else echo'Файл не был загружен! Попробуйте повторить попытку'; } } else echo'Размер файла более 2Мб. Измените размер файла и повторите попытку.'; } }
Вот я нашла именно то, что нужно....но не могу понять, что за глобальный массив:$_SERVER['CONTENT_LENGTH'] ? As said before if POST size exceeds server limit then $_POST and $_FILES arrays become empty. You can track this using $_SERVER['CONTENT_LENGTH']. For example: <?php $POST_MAX_SIZE = ini_get('post_max_size'); $mul = substr($POST_MAX_SIZE, -1); $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); if ($_SERVER['CONTENT_LENGTH'] > $mul*(int)$POST_MAX_SIZE && $POST_MAX_SIZE) $error = true; ?>
На помощь! Не могу разобраться как поймать ошибку из масса: $_FILES['userfile']['error'] нужна ошибка UPLOAD_ERR_INI_SIZE Значение: 1; Размер принятого файла превысил максимально допустимый размер, который задан директивой upload_max_filesize конфигурационного файла php.ini. Вот тут пыталась разобраться http://ru2.php.net/manual/ru/features.f ... errors.php но никак не получается...объясните,пожалуста!