Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Загрузка изображений в базу данных.
Форумы портала PHP.SU » » Вопросы новичков » Загрузка изображений в базу данных.

Страниц (1): [1]
 

1. alena_pl - 12 Декабря, 2011 - 11:04:22 - перейти к сообщению
Всем, добрый день. Может кто подскажет как через форму загрузить изображения сначала на сервер, а потом записать путь к этому файлу в базу данных? Была на многих сайтах, однако рабочего примера так и не встретила. Буду рада любой помощи.

Спасибо Улыбка
2. Данил_123 - 12 Декабря, 2011 - 11:18:15 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. # mkdir("file", 0777);
  2. print '<html>
  3. <title>Загрузка файла</title>
  4. <form action="" method="POST" enctype=multipart/form-data>
  5. <input type="file" name="uploadfile" value="Обзор">
  6. <input type="submit" value="ok">
  7. </html>';
  8.  
  9. $uploaddir='./files/';
  10. $uploadfile=$uploaddir.basename($_FILES['uploadfile']['name']);
  11.  
  12. if(copy($_FILES['uploadfile']['tmp_name'], $uploadfile)){
  13. $res = mysql_query("INSERT INTO `table`(`patch`)  VALUES(".$_FILES['uploadfile']['name'].")");
  14. if($res) echo "Файл упешно загружен";
  15. else echo "Путь не добавлен в базу данных, но файл загружен";
  16. }
  17.  else echo "Файл не загружен,максимальный размер файла 2 мб ";


не проверял
3. alena_pl - 13 Декабря, 2011 - 07:32:54 - перейти к сообщению
Спасибо за скрипт, только у меня возник вопрос - table - это название таблицы, а patch - это название столбца, я правильно поняла? Если так, то на сервер грузится картинка, а вот её путь в БД нет Огорчение
$res = mysql_query("INSERT INTO `table`(`patch`) VALUES(".$_FILES['uploadfile']['name'].")");
4. alena_pl - 13 Декабря, 2011 - 11:01:28 - перейти к сообщению
Ура , разобралась Радость

Пример рабочий:
<?php
$db = mysql_connect("localhost", "lena", "12345");
mysql_select_db("test",$db);
$uploaddir= ' ';
$fot = $_FILES['uploadfile']['name'];
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $fot)) {;
$res= mysql_query ("INSERT INTO image (image) VALUES ('$fot')");
if($res) echo "Файл упешно загружен";
else echo "Путь не добавлен в базу данных, но файл загружен";
}
else echo "Файл не загружен,максимальный размер файла 2 мб ";
?>
5. admiking - 11 Декабря, 2012 - 09:03:17 - перейти к сообщению
А по подробнее можно?
6. Stream - 11 Декабря, 2012 - 10:57:36 - перейти к сообщению
Цитата:
сервер грузится картинка, а вот её путь в БД нет


проверьте типы поле в таблице
7. El Diablo - 03 Апреля, 2013 - 19:27:28 - перейти к сообщению
Ребят, не могу разобраться как работает вышеописанный скрипт, я его добавил к себе пробую собрать в дримвивере, суть такова, ругается на переменную uploadfile, тобиш страничку сохранил, смотрю через браузер пишет, что не может распознать эту переменную, подскажите в чем проблема?

(На картинке наверху то что выдает в браузере, ниже сам код в дримвивере)

Также в этой статье http://www.php.su/mysql/manual/?page=LOAD_DATA прочитал, что должен быть файл который отвечает за работу с файлами:

php.ini его у меня нет, я так понял он обязательный т.к. операторы не знают что куда грузить какой размер, какое имя и временную директорию?

Ребят я новичек в мире PHP по этому просьба не закидывать камнями =)

 

Powered by ExBB FM 1.0 RC1