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 » » Работа с СУБД » Привязка картинки к базе

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

1. pava77 - 27 Марта, 2013 - 19:23:55 - перейти к сообщению
У меня такая ситуация:
Есть база куда заносяться данные. Пользователь в форму вводит название, и прикрепляет картинку. В базу отправляю 2 стобца с названием и описанием. в 3 столбец нужно както прикрепить картинку которую выбрал юзер. Картинки сохраняю в папке на сервере. мож как то имя и путь в таблицу заность или как лучше?
2. armancho7777777 - 27 Марта, 2013 - 19:29:49 - перейти к сообщению
Только имя, если директория для всех одна.
Удобнее будет в дальнейшем, если директорию решите сменить.
А в остальном разницы нет.
3. pava77 - 27 Марта, 2013 - 19:32:16 - перейти к сообщению
armancho7777777 пишет:
Только имя, если директория для всех одна.
Удобнее будет в дальнейшем, если директорию решите сменить.
А в остальном разницы нет.

Большое спасибо
4. armancho7777777 - 27 Марта, 2013 - 19:35:10 - перейти к сообщению
Не за что.
И ещё, на будущее:
если предполагается несколько размеров у одной и той же картинки,
то соответственно они будут располагаться в разных, соответствующих размерам, директориях,
то имя одно на всех и так же храните только его.
В зависимости от того, какое изображение надо показать, просто меняете путь до него и всего лишь.

Типа:
/images/original/image_1.jpg // Оригинальное изображение
/images/min/image_1.jpg // Миниатюра

Так же будет удобно и при удалении изображений.
5. pava77 - 27 Марта, 2013 - 20:17:00 - перейти к сообщению
armancho7777777 пишет:
Не за что.
И ещё, на будущее:
если предполагается несколько размеров у одной и той же картинки,
то соответственно они будут располагаться в разных, соответствующих размерам, директориях,
то имя одно на всех и так же храните только его.
В зависимости от того, какое изображение надо показать, просто меняете путь до него и всего лишь.

Типа:
/images/original/image_1.jpg // Оригинальное изображение
/images/min/image_1.jpg // Миниатюра

Так же будет удобно и при удалении изображений.

Понял, спасибо
(Добавление)
а как потом удалить ету фотку, например пользователь нажмет удалить
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = "DELETE FROM obyavi WHERE id = $id and customer='".session_id()."' ";
  3.                 $result = mysql_query($sql) or die(mysql_error());
  4.  

это удалит все кроме самой фотки, как ее удалить?
6. DelphinPRO - 27 Марта, 2013 - 21:11:53 - перейти к сообщению
7. pava77 - 27 Марта, 2013 - 21:14:53 - перейти к сообщению
DelphinPRO пишет:

а имя файла у меня лежит в переменной, но при удалении пишет что нет такого файла
8. DelphinPRO - 27 Марта, 2013 - 21:20:56 - перейти к сообщению
значит нет такого файла O_o
точнее путь к файлу неверный, если вы уверены, что он есть.
9. pava77 - 27 Марта, 2013 - 22:41:21 - перейти к сообщению
DelphinPRO пишет:
значит нет такого файла O_o
точнее путь к файлу неверный, если вы уверены, что он есть.

та вроде все верно, я не знаю че он материться, путь и файл лежит в переменной, я ее и удаляюю. а где нужно прописывать код удаления?
10. caballero - 27 Марта, 2013 - 23:40:59 - перейти к сообщению
а права есть на удаление?
(Добавление)
и распечатай путь по которому удаляешь - скорее всего он неправильный
11. pava77 - 27 Марта, 2013 - 23:50:47 - перейти к сообщению
caballero пишет:
а права есть на удаление?
(Добавление)
и распечатай путь по которому удаляешь - скорее всего он неправильный

PHP:
скопировать код в буфер обмена
  1.  
  2. function obyavaDel($id){
  3.                 $sql = "DELETE FROM obyavi WHERE id = $id and customer='".session_id()."' ";
  4.                 $result = mysql_query($sql) or die(mysql_error());
  5.                     unlink('$newName');
  6.                 $newName = $up . $_FILES['ufile']['name'];
  7. $up = "/doska/img/";
  8.         }
  9.  
12. caballero - 27 Марта, 2013 - 23:57:05 - перейти к сообщению
я имел ввиду распечатать через echo переменную в котрой хранится путь к файлу.

echo $newName;

то что путь неправильный уже понятно. распечатай и убедись сам
13. pava77 - 28 Марта, 2013 - 00:09:46 - перейти к сообщению
caballero пишет:
я имел ввиду распечатать через echo переменную в котрой хранится путь к файлу.

echo $newName;

то что путь неправильный уже понятно. распечатай и убедись сам

вывело Z:/home/localhost/www/doska/img/devushki-lyudi-7575.jpg все верно, что сдесь не так?
14. caballero - 28 Марта, 2013 - 00:22:34 - перейти к сообщению
все так - просто я не увидел где у тебя путь форvируется

попробуй функцию file_exist($newName) чего вернет;

и кстати чего у тебя кавычки делают в unlink('$newName');,
убери их нафиг - не удивлюсь если заработает
15. LIME - 28 Марта, 2013 - 01:37:34 - перейти к сообщению
а я удивлюсь
сначала происходит удаление по пути который формируется после
да еще из массива файлов
это по какой логике?
сначала получи картинку из базы
потом удаляй ее и запись

 

Powered by ExBB FM 1.0 RC1