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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Помогите разобраться, почему не грузит картинку на сервер
 
 автор: scva   (08.07.2009 в 12:07)   письмо автору
 
 

Форма загрузки

<form action="index1.php" method="post" name="form">
  <p>Назание<br>
    <input name="brand" type="text" size="40">
  </p>
  <p>Картинка<br>
<input name="img" type="file">
  </p>
  <p><input name="submit" type="submit" value="отправить"></p>
</form>


обработчик inde1.php

<?
$brand 
$_POST['brand'];
$img $_POST['img'];
if (!empty(
$brand) && !empty($img) && ($_FILES["img"]["tmp_name"] == "")) {
$result mysql_query ("INSERT INTO brand (brand,img) VALUES ('$brand','$img')")or print 'Ошибка работы с БД: '.mysql_error();
move_uploaded_file($_FILES["img"]["tmp_name"], $_SERVER["DOCUMENT_ROOT"]."/img/");  
if(
$result){
echo 
"<h3>Добавлено</h3>";
}
}
?> 

  Ответить  
 
 автор: sim5   (08.07.2009 в 12:29)   письмо автору
 
   для: scva   (08.07.2009 в 12:07)
 

1. Форма должна иметь атрибут enctype="multipart/form-data": <form action="index1.php" method="post" name="form" enctype="multipart/form-data">
2. Не будет передано на сервер такого: $_POST['img'], а будет $_FILES["img"][параметр].
3. Ваши дальнейшие действия ошибочны - а) не понятно что вы пишите в базу, так как $img у вас пуста будет, б) $_FILES["img"]["tmp_name"] - это временное имя загруженного файла на сервер, а вы его перемещаете в каталог (при чем не верно). Вы бы для примера вывели его на экран и посмотрели, что оно из себя представляет, прежде чем так его перемещать.
4. Ищите в разделе примеры загрузки файла на сервер, как это правильно (грамотно) делается.

  Ответить  
 
 автор: Trianon   (08.07.2009 в 12:34)   письмо автору
 
   для: scva   (08.07.2009 в 12:07)
 

http://ru.php.net/manual/ru/features.file-upload.php
после изучения материала можно попробовать ответить на вопросы:
а) зачем приведен файл inde1.php, в то время как файл обработчик запроса называется index1.php ?
б) почему переменная $img берется из масива $_POST[]?
в) где обеспечивается анализ элемента $_FILES["img"]["error"] до проведения которого лезть к другим элементам массива $_FILES["img"] бесполезно?

UPD.
Ну и таки да, как отметил sim5, атрибут enctype в форме должен быть прописан правильно.

  Ответить  
Rambler's Top100
вверх

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