|
|
|
| Привет, Всем добрым человекам, которые надеюсь помогут мне!
Это очень простая задача, только я че-то не могу до неё допереть!
Есть колличество ($count) полей под загружаемые файлы;
Поля имеют имена userphoto[0], ..., ... и т.д.
Как выглядит код??? который проверяет, при загрузке файлов на сервер, размер этих файлов и встретив размер не равный нулю (то есть файл был загружен), сразу бы выходил из процесса проверки, вот мои зарисовки:
<?php
$count = $_FILES['userphoto']['name']
$i = 0;
while($i < $count)
{
if($_FILES['userphoto']['size'][$i] != 0)
{
break;
}
else
{
$i ++;
}
//из цикла тоже надо свалить как-то, после обнаружения размера файла не равного нулю. Как это сделать?
}
?>
|
| |
|
|
|
|
|
|
|
для: SilentChild
(29.04.2008 в 14:19)
| | $_FILES представляет ассоциативный массив с ключами:
- name - исходное имя файла(до отправки на сервер)
- type - MIME-тип загрузочного файла(если браузер мог его определить: image/gif, text/html,
application/x-zip-compressed и т.д. )
- tmp_name - имя временного файла на сервере. Файл содержит данные, переданные пользователем,
с ним(файлом) можно делать: удалять, копировать, переименовывать, снова удалять
- size - размер закаченного файла в байтах
- error - признак ошибки во время закачки:
0 - UPLOAD_ERR_OK - файл получен полностью;
- UPLOAD_ERR_NO_FILE - пользователь не выбрал файл в браузере;
- UPLOAD_ERR_INI_SIZE - превышен размер файла(задавемый в php.ini директивой
upload_max_filesize в php.ini;
- UPLOAD_ERR_FORM_SIZE - превышен размер, задаваемый в необязательном поле формы
с именем UPLOAD_ERR_FORM_SIZE
- UPLOAD_ERR_PARTIAL - файл недокачен до конца из-за обрыва соединения.
Замечание: если в php.ini включен режим register_globals, то для каждого заканчиваемого файла PHP
создаст дополнительно 5 глобальных переменных.
Например, глобальная переменная $myFile_name будет хранить, то же самое, что и $_FILES['myFile']['name'],
а $myFile_type эквивалентна $_FILES['myFile']['type'].
Переменная $myFile (без суффикса, начинающегося с подчерка) в этом случае будет хранить
имя временного файла и т.д.
Итак проверка - как закачался файл сводится к проверке $_FILES['myFile']['error'] на не НУЛЕВОЕ
ЗНАЧЕНИЕ или на отсутствие ФАЙЛА с именем заданным в $_FILES['myFile']['tmp_name'] или
по ОТСУТСТВИЮ самого эл-та. | |
|
|
|
|
|
|
|
для: SilentChild
(29.04.2008 в 14:19)
| |
<?php
$maxFileSize = 1024 * 80;
$count = $_FILES['userphoto']['name']
$i = 0;
while($i < $count)
{
if(($_FILES['userphoto']['size'][$i] != 0) || ($_FILES['userphoto']['size'][$i] > $maxFileSize))
{
break;
}
else
{
$i ++;
}
//из цикла тоже надо свалить как-то, после обнаружения размера файла не равного нулю. Как это сделать?
}
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(29.04.2008 в 18:27)
| | А зачем еще указывать $maxFileSize ? Мне не важен размер, мне важно его отсутствие!
Покажите способ выйти из цикла, если размер не равен нулю и всё, а то че-то вы понаписали...без пива и не разберёшь =) | |
|
|
|
|
|
|
|
для: SilentChild
(30.04.2008 в 08:49)
| | Вы несете чушь полнейшую, пытаясь изобрести велосипед. Просмотрите массив по получению формы, будет понятно:
<?
print '<pre>';
print_r($_FILES);
print '</pre>';
?>
|
| |
|
|
|
|
|
|
|
для: SilentChild
(30.04.2008 в 08:49)
| | >Покажите способ выйти из цикла
у вас уже написано - break; Если просто пропустить одну итерацию - continue; | |
|
|
|
|