UPLOAD mixed

igp

Новичок
UPLOAD mixed

Необходимо сделать upload файла (input type="file") вместе с вводом нескольких input (type="text") и textarea.

Проблема в том, что при сабмите получается, что текстовые поля доступны, а файл не аплоадится, т.е. при распечатке, например, print_r($_FILES) выдает "Array ()".

Помогите плиз полечить...:rolleyes: или так нельзя?:(
 

igp

Новичок
Это если на форме только один аплоад...
А если еще есть поля другие - облом! :(

При обработке аплоада при обращении к переменной $_FILES['userfile']['name'] выдает неизвестный индекс userfile.
 

igp

Новичок
PHP:
        <form action="" method="post" enctype="multipart/form-data">
                <input name="book_name" type="text" id="book_name" maxlength="1000" style="width:99%" />
                <textarea name="book_desc" type="text" id="book_desc" cols="50" rows="15"></textarea>
                <input name="img_file" type="file" id="img_file" style="width:99%" />
            <input type="submit" name="book_save" id="book_save" value="Добавить">
      </form>
 

igp

Новичок
PHP:
      $book_name = $_POST["book_name"];
      $book_desc = $_POST["book_desc"];
      $book_date = $_POST["book_date"];
      $foto_fl   = $_FILES["img_file"]["name"];
      if (is_uploaded_file($_FILES["img_file"]["tmp_name"]))
      {
        move_uploaded_file($_FILES["img_file"]["tmp_name"], "./images/user/books/$timestamp$foto_fl");
        chmod("./images/user/books/$timestamp$foto_fl",0666);
        $query = "insert into books (book_name, book_description, book_date, book_image) values ('$book_name', '$book_desc', '$book_date', '$timestamp$foto_fl')";
      }
       else
      {
        $query = "insert into books (book_name, book_description, book_date) values ('$book_name', '$book_desc', '$book_date')";
      };
 

Sam

Новичок
где выдаёт? где остальной код?

ты даёшь несвязанные куски кода, да ещё их редактируешь по ходу.
 

alekciy

Новичок
igp
Глава 38. Загрузка файлов на сервер
Также следует убедиться, что в атрибутах формы вы указали enctype="multipart/form-data", в противном случае загрузка файлов на сервер выполняться не будет.
Ну вот и upload работает с таким кодом, и значение текстового поля я получаю:

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
  <HEAD>
    <TITLE>Загрузка файлов на сервер</TITLE>
  </HEAD>
  <BODY>
<form enctype="multipart/form-data" name="form_upload" method="post" action="upload.php">
	<input name="upload_file" type="file">
	<input name="text" type="text">
	<br>
	<input type="submit" value="Загрузить на сервер">
</form>
  </BODY>
</HTML>
PHP скрипт:
PHP:
<?php
print "Начало скрипта";
$name=$_FILES['upload_file']['name'];
$type=$_FILES['upload_file']['type'];
$size=$_FILES['upload_file']['size'];
$tmp_name=$_FILES['upload_file']['tmp_name'];
$error=$_FILES['upload_file']['error'];
print "Имя принятого файла  ".$name."<br>";
print "Тип файла  ".$type."<br>";
print "Размер принятого файла  ".$size."<br>";
print "Имя временного файла  ".$tmp_name."<br>";
print "Ошибка  ".$error."<br>";
print $_POST['text']."<br>";
?>
-~{}~ 28.03.06 04:12:

igp
...<form action=""...
???? почему атрибут пустой?
 

igp

Новичок
Автор оригинала: Sam
где выдаёт? где остальной код?
ты даёшь несвязанные куски кода, да ещё их редактируешь по ходу.
А зачем остальной код? Там дальше никакого отношения к аплоаду ничего не имеет.:) А выдает на строках 4, 5 и 7.
А то что я редактирую - раньше я писал $_FILES['userfile']['name'] (для объяснения вопроса), а реально поле называется "img_file". Вот и исправлял.

-~{}~ 28.03.06 02:16:

Автор оригинала: alekciy
...<form action=""...
???? почему атрибут пустой?
Потому что обработка тем же скриптом с теми же параметрами.
 

Sam

Новичок
затем что на форум ты выдал работающий код. если в логах действительно всё чисто проблема в оставшейся части.
и почитай про настройку сервера ещё по той ссылке что я тебе дал.
 

alekciy

Новичок
Ну вот явно имя и пропиши.
Или я так понимаю и HTML форма и скрипт, который принимает данные из этой формы, все это реализованно физически в ОДНОМ скрипте? Он и форму генерирует и полученные данные обрабатывает?
 

igp

Новичок
alekciy
Также следует убедиться, что в атрибутах формы вы указали enctype="multipart/form-data", в противном случае загрузка файлов на сервер выполняться не будет.
Указано. См. по тексту выше.

-~{}~ 28.03.06 02:25:

Автор оригинала: alekciy
Ну вот явно имя и пропиши.
Зачем?
Автор оригинала: alekciy
Или я так понимаю и HTML форма и скрипт, который принимает данные из этой формы, все это реализованно физически в ОДНОМ скрипте? Он и форму генерирует и полученные данные обрабатывает?
Да. Законом не запрещено ;)

-~{}~ 28.03.06 02:29:

затем что на форум ты выдал работающий код.
Нихт арбайтен.
если в логах действительно всё чисто проблема в оставшейся части.
и почитай про настройку сервера ещё по той ссылке что я тебе дал.
Другая часть никак к аплоаду не относится... Дальше редирект (302), а еще дальше - вывод данных.
 

alekciy

Новичок
igp
>Указано. См. по тексту выше.
Когда я это писал, в теме вообще сообщений не было.

>Зачем?
Это тебе нужно или мне?
Ещё лучше будет все же разделить форму и скрипт, хотя бы на то время, пока не будет установлено, в чем же проблема.
 

Фанат

oncle terrible
Команда форума
Помогите плиз полечить... или так нельзя?
никакой разницы в том, какие поля есть в форме, нет абсолютно.
если бы у тебя не работал аплоад файлов вовсе - тогда надо было бы смотреть настройки пхп.
если же ты, по твоим словам, не можешь отправить именно смешанную форму, то ищи у себя опечатки.
 
Сверху