Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: В дампе массива $_POST отсутствуют file-поля

Сообщения:  [1-10] 

 
 автор: Sfinks   (13.11.2011 в 18:25)   письмо автору
 
   для: OLi   (13.11.2011 в 15:56)
 

Правильно. если
> В форме input name="photo_banner[]"
То передается массив файлов. Соответственно и обращаться к нему "глубже" надо:
if (!empty($_FILES["photo_banner"]["name"][0]))

Только почему массив? Если у Вас в форме несколько полей "file", то и проверять нужно каждое
$_FILES["photo_banner"]["name"][0],
$_FILES["photo_banner"]["name"][1],
...,
$_FILES["photo_banner"]["name"][n]
А если одно, то сделайте input name="photo_banner"

  Ответить  
 
 автор: OLi   (13.11.2011 в 15:56)   письмо автору
 
   для: Sfinks   (12.11.2011 в 19:54)
 

Странно, прописал так:

    if (!empty($_FILES["photo_banner"]["name"])) {
    
    $error_fil=load_image();
    
    echo 'ok';    
    
    }

При это, если даже не выбран файл и отправлена форма, то пропускает условие, выводя "OK"
В форме input name="photo_banner[]"

  Ответить  
 
 автор: Sfinks   (12.11.2011 в 19:54)   письмо автору
 
   для: OLi   (12.11.2011 в 19:07)
 

$_FILES["photo_banner"]["size"]>0
так например. Или так
!empty($_FILES["photo_banner"]["name"])

Или если тебе нужно конкретно JPEG и определенного размера, например до 200кб, то так:
<?
if($_FILES["photo_banner"]["size"]>&&
   
$_FILES["photo_banner"]["size"]<102400 &&
   
$_FILES["photo_banner"]["type"] == 'image/jpeg'){
// сохраняем файл
} else {
// выдаем ошибку
}
?>

  Ответить  
 
 автор: OLi   (12.11.2011 в 19:07)   письмо автору
 
   для: Sfinks   (12.11.2011 в 18:07)
 

При выборе файла и распечатки var_dump получил
array(1) { ["photo_banner"]=> array(5) { ["name"]=> string(6) "03.jpg" ["type"]=> string(10) 

"image/jpeg" ["tmp_name"]=> string(14) "/tmp/phpUYpf8j" ["error"]=> int(0) ["size"]=> int(8168) } }

  Ответить  
 
 автор: Sfinks   (12.11.2011 в 18:07)   письмо автору
 
   для: OLi   (12.11.2011 в 17:45)
 

напиши var_damp($_FILES). Посмотри на массив переданный с файлом и без файла. Сравни и поставь верное ограничение.

  Ответить  
 
 автор: OLi   (12.11.2011 в 17:45)   письмо автору
 
   для: OLi   (12.11.2011 в 03:50)
 

А как проверить, выбран ли файл для загрузки?
Вот так все равно пропускает, даже если не выбран файл:
count($_FILES["photo_banner"])>0

  Ответить  
 
 автор: OLi   (12.11.2011 в 03:50)   письмо автору
 
   для: Slo_Nik   (12.11.2011 в 02:39)
 

Да, благодарю, так работает..

  Ответить  
 
 автор: Slo_Nik   (12.11.2011 в 02:39)   письмо автору
 
   для: OLi   (12.11.2011 в 00:07)
 

Они и не будут видны ни при каких обстоятельствах в массиве POST

  Ответить  
 
 автор: cheops   (12.11.2011 в 00:16)   письмо автору
 
   для: OLi   (12.11.2011 в 00:07)
 

Файлы помещаются в отдельный массив $_FILES.

  Ответить  
 
 автор: OLi   (12.11.2011 в 00:07)   письмо автору
 
 

Доброго - одЫн вопрос: вывожду var_damp($_POST) - вижу все переданные поля формы кроме input type= file name=files[]... в чем проблема?
Для формы задано: multipart/form-data
Файл загружаю.

  Ответить  

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования