<p>
Фото:<br> <input type="file" name="userfile">
<input type="submit" name="fupload" value="загрузить">
</p>
Принимающий скрипт:
Как прописать проверку существования, то есть что фотка была выбрана и отправлена??
if ($_FILES['fupload']) //так?
{
..........;
}
Спустя 3 минуты, 22 секунды (24.06.2011 - 14:05) neadekvat написал(а):
if ($_FILES['fupload']['name'] != '')
если я не перепутал вложенность массиво.
Спустя 35 минут, 57 секунд (24.06.2011 - 14:41) XCross написал(а):
Не... лучше проверяй так:
if(!file_exists($_FILES['fupload']['tmp_name'])){
//Код
}
Спустя 2 часа, 41 минута, 10 секунд (24.06.2011 - 17:22) neadekvat написал(а):
kmaks, принципиальное отличие? Уж тогда error проверять.
Спустя 11 минут, 22 секунды (24.06.2011 - 17:34) XCross написал(а):
Да хз. У меня такой вопрос был на форуме, мне ответили что так производить проверку. Я принял это за истину и везде так проверяю.
Спустя 3 минуты, 15 секунд (24.06.2011 - 17:37) Игорь_Vasinsky написал(а):
neadekvat
а в error - попадёт момент если файл просто перепишет существующий?
мне предпочтительней проверить через file_exists().
UPD:
UPLOAD_ERR_OK
Значение: 0; Ошибок не возникало, файл был успешно загружен на сервер.
UPLOAD_ERR_INI_SIZE
Значение: 1. Размер принятого файла превысил максимально допустимый размер, задаваемый директивой upload_max_filesize конфигурационного файла php.ini.
UPLOAD_ERR_FORM_SIZE
Значение: 2. Размер загружаемого файла превысил значение MAX_FILE_SIZE, указанное в HTML-форме.
UPLOAD_ERR_PARTIAL
Значение: 3. Загружаемый файл был получен только частично.
UPLOAD_ERR_NO_FILE
Значение: 4. Файл не был загружен.
а в error - попадёт момент если файл просто перепишет существующий?
мне предпочтительней проверить через file_exists().
UPD:
UPLOAD_ERR_OK
Значение: 0; Ошибок не возникало, файл был успешно загружен на сервер.
UPLOAD_ERR_INI_SIZE
Значение: 1. Размер принятого файла превысил максимально допустимый размер, задаваемый директивой upload_max_filesize конфигурационного файла php.ini.
UPLOAD_ERR_FORM_SIZE
Значение: 2. Размер загружаемого файла превысил значение MAX_FILE_SIZE, указанное в HTML-форме.
UPLOAD_ERR_PARTIAL
Значение: 3. Загружаемый файл был получен только частично.
UPLOAD_ERR_NO_FILE
Значение: 4. Файл не был загружен.
Спустя 2 часа, 43 секунды (24.06.2011 - 19:37) ИНСИ написал(а):
В данном случае, правильнее проверять через empty
if(!empty($_FILES)) {
Спустя 12 минут, 18 секунд (24.06.2011 - 19:50) XCross написал(а):
Не, VellBox. Кажется, что если проверять что в errors, то уже картина будет ярче. Тут уже получишь сразу инфу какую-нибудь....
Спустя 8 минут, 1 секунда (24.06.2011 - 19:58) ИНСИ написал(а):
Цитата |
Тут уже получишь сразу инфу какую-нибудь.... |
Мда ... Какую инфу ты получишь, если файл не загружается? Только то, что файл не найден.
А другие ошибки, обычно сам обрабатываешь в скрипте, так у каждого скрипта свои задачи. Поэтому в данном случае, это лишнее работать с ошибками. Надо лишь проверить на пустоту, а остальное уже самому делать.
Спустя 3 минуты, 33 секунды (24.06.2011 - 20:01) XCross написал(а):
Если файл не загружен, то получишь ошибку под номером 4, а если загружен, то можно узнать размер, корректно ли загружен.
Спустя 46 секунд (24.06.2011 - 20:02) neadekvat написал(а):
velbox
Запусти и нажми "отправить", не выбирая файла.
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ( ! empty($_FILES))
echo 'не пусто';
else
echo 'пусто';
}
?>
<form method="post" enctype="multipart/form-data">
<input type="file" name="asd">
<input type="submit">
</form>
Запусти и нажми "отправить", не выбирая файла.
Спустя 45 минут, 41 секунда (24.06.2011 - 20:48) ИНСИ написал(а):
neadekvat я вижу любишь спорить ...
1. Не правильно тут написал
1. Не правильно тут написал
Цитата |
if ( ! empty($_FILES)) |
Надо было:
if (!empty($_FILES['asd']['tmp_name']))
Цитата |
сли файл не загружен, то получишь ошибку под номером 4, а если загружен, то можно узнать размер, корректно ли загружен. |
Это все танцы с бубном ....
Спустя 1 минута, 31 секунда (24.06.2011 - 20:49) XCross написал(а):
vellbox, аналогично... посмотри о чем neadekvat толкует....
Спустя 2 минуты, 49 секунд (24.06.2011 - 20:52) neadekvat написал(а):
Цитата (velbox @ 24.06.2011 - 21:48) |
Не правильно тут написал |
А, всего лишь. Дейсвтительно. ТС бы и сам догадался. Почти синонимично.
Цитата (velbox @ 24.06.2011 - 21:48) |
Это все танцы с бубном |
Это такой своеобразный юмор? Какие еще танцы? Это инструмент, который предназначен именно для того, чтобы отслеживать успешность операции.
Свои ошибки и "описки" надо признавать и исправлять. Особенно со статусом "эксперт".
Спустя 9 минут, 37 секунд (24.06.2011 - 21:02) ИНСИ написал(а):
Цитата |
Какие еще танцы? Это инструмент, который предназначен именно для того, чтобы отслеживать успешность операции. |
Я и не спорю, что это нужный инструмент. Я говорю о том, чтобы проверить на "прислали" ли файл скрипту, лучше использовать empty .... Я хоть слово сказал, что ошибки "гавно" и не надо использовать?
Цитата |
Свои ошибки и "описки" надо признавать и исправлять. Особенно со статусом "эксперт". |
Слушай, где я ошибся? Я что-то неверно сказал? Или что?
Спустя 2 минуты, 40 секунд (24.06.2011 - 21:04) neadekvat написал(а):
Цитата (velbox @ 24.06.2011 - 22:02) |
Слушай, где я ошибся? Я что-то неверно сказал? Или что? |
Цитата (velbox @ 24.06.2011 - 22:02) |
Я говорю о том, чтобы проверить на "прислали" ли файл скрипту, лучше использовать empty |
Чем он лучше? Делая запрос на удаленный хост, ты проверяешь то, что пришло в "теле" документа или в заголовке? error - это заголовок, (tmp_)name - это тело.
Спустя 48 секунд (24.06.2011 - 21:05) XCross написал(а):
if($_FILES['*']['tmp_name'] == ''){
}
Идентична
if(empty($_FILES['*']['tmp_name'])){
}
Спустя 2 минуты, 9 секунд (24.06.2011 - 21:07) neadekvat написал(а):
Цитата (kmaks @ 24.06.2011 - 22:05) |
Идентична |
Если $_FILES['*']['tmp_name'] будет равно 0 (гипотетически) - то не идентично.
Вообще, я хочу сказать, что
а) поначалу (особенно неопытному человеку) кажется, что ты имеешь ввиду "empty то же, что и == '' "
б) речь о другом.
Спустя 4 минуты, 58 секунд (24.06.2011 - 21:12) ИНСИ написал(а):
Цитата |
Здесь: http://ybex.com/d/s6u89athn6f3qh13f8nq27qz...fu7bdcykgi.html |
Ааа. вот к чему ты придрался. Прочитай мой текст:
Цитата |
В данном случае, правильнее проверять через empty |
Я говорил именно про саму функцию empty. Программисту даже начального уровня, будет понятно, что надо указать полностью $_FILES ... А если ты не знал этого, надо было просто спросить, а не строить из себя учителя!
Спустя 2 минуты, 8 секунд (24.06.2011 - 21:14) XCross написал(а):
Оп стоп, памада у меня х)
Спустя 7 минут, 14 секунд (24.06.2011 - 21:22) neadekvat написал(а):
Цитата (velbox @ 24.06.2011 - 22:12) |
Программисту даже начального уровня, будет понятно, что надо указать полностью $_FILES |
Цитата (velbox @ 24.06.2011 - 22:12) |
А если ты не знал этого, надо было просто спросить, а не строить из себя учителя! |
Лолшто? У меня нет слов.
_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны