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

Форум MySQL

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

 

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

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

тема: сохранить картинку и в базу и вывести
 
 автор: 10100100   (28.02.2006 в 13:56)   письмо автору
 
 

честно говоря даже не представляю как это делается.. подскажите пожалуйста...

   
 
 автор: chocopie   (28.02.2006 в 15:00)   письмо автору
 
   для: 10100100   (28.02.2006 в 13:56)
 

Картинку храни в поле типа BLOB либо LONGBLOB, MEDIUMBLOB.

Сохраняем:

<?php
require_once("./connection.php");
if (!isset(
$img_file) || !isset($auth_id) || !isset($title)) header("Location: ./postphotoform.php");
$fi fopen($img_file"r");
$fsz filesize($img_file);
$insert_command sprintf("INSERT INTO image(img) VALUES('%s')",
     
addslashes(fread($fi$fsz))); // обративнимание на addslashes!
mysql_query($insert_command) or die(mysql_error());
fclose($fi);?>


Выводим:
Делаешь обыный запрос типа:

SELECT img FROM your_table WHERE id = some_thing


Чтобы вывести сначала картинку отправь заголовок (в зависимости от типа картинки):

header("Content-Type: image/jpeg");


Вот полный код вывода:

<?php
require_once("./connection.php"); // инклудим соединение с БД
$select_query "SELECT img FROM image WHERE id=".$id;
$res mysql_query($select_query);
$row mysql_fetch_row($res);
header("Content-Type: image/jpeg");
echo 
$row[0];
?>


Могу прислать исходники легенького фотоальбома.

   
 
 автор: mishaMC   (28.02.2006 в 15:13)   письмо автору
 
   для: chocopie   (28.02.2006 в 15:00)
 

Пришлите мне, пожалуйста!


Только у вас в БД сохраняется изображение. А как делать так, чтобы изображение сохранялось в какой-нибудь другой папке (скажем /files) и имя ему давалось произвольное (например от даты загрузки), а в БД сохранялась только ссылка на изображение?

Я смотрел ваше приложение "Новостная лента", там сделано именно все так, как мне нужно, но у меня не получается...

   
 
 автор: chocopie   (28.02.2006 в 16:08)   письмо автору
 
   для: mishaMC   (28.02.2006 в 15:13)
 

mishaMC, я отправил Вам архив с исходниками. Enjoy!

Что касается хранения изображений в файлах на сервере, то тут все просто.
Полученная через POST картинка записывается в новый файл в каталоге сервера (главное должно быть разрешено создание и запись в файлы).

Примерно так:

<?php
$picture 
$_POST["picture"];
$filename func_that_generate_new_name();
$fp fopen("/files/$filename""w+");
$picture addslashes($picture);
fwrite($fp$picture);
fclose();
?>


После этого останется только сохранить имя файла в БД.

   
 
 автор: mishaMC   (28.02.2006 в 16:11)   письмо автору
 
   для: chocopie   (28.02.2006 в 16:08)
 


$filename = func_that_generate_new_name(); 


А саму-то функцию я где возьму? Это-то и есть моя загвоздка!

   
 
 автор: chocopie   (28.02.2006 в 16:19)   письмо автору
 
   для: mishaMC   (28.02.2006 в 16:11)
 

Я бы использовал что-нибудь типа:


<?php
function func_that_generate_new_name($extension) {
  
// return time().$extension;
  
return md5($picture.microtime()).$extension;
}
?>

   
 
 автор: 10100100   (28.02.2006 в 17:46)   письмо автору
 
   для: chocopie   (28.02.2006 в 15:00)
 

я буду очень рад архивчику - жду его.
а вот можно самый первый скрипт расписать поподробнее?

   
 
 автор: cheops   (28.02.2006 в 22:55)   письмо автору
 
   для: 10100100   (28.02.2006 в 13:56)
 

Приведу несколько тем по ссылке
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1057
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5173
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=2672
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3560
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1436

   
 
 автор: 10100100   (01.03.2006 в 05:43)   письмо автору
 
   для: cheops   (28.02.2006 в 22:55)
 

спасибо Хеопс! как всегда актуально! пока вопросов больше не имею! но это временно...
а вот поиск глючить стал на этом сайте - ну мне так кажется! его уже поправили?

   
 
 автор: cheops   (01.03.2006 в 13:34)   письмо автору
 
   для: 10100100   (01.03.2006 в 05:43)
 

Да вернули обратно.

   
Rambler's Top100
вверх

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