|
|
|
| честно говоря даже не представляю как это делается.. подскажите пожалуйста... | |
|
|
|
|
|
|
|
для: 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];
?>
|
Могу прислать исходники легенького фотоальбома. | |
|
|
|
|
|
|
|
для: chocopie
(28.02.2006 в 15:00)
| | Пришлите мне, пожалуйста!
Только у вас в БД сохраняется изображение. А как делать так, чтобы изображение сохранялось в какой-нибудь другой папке (скажем /files) и имя ему давалось произвольное (например от даты загрузки), а в БД сохранялась только ссылка на изображение?
Я смотрел ваше приложение "Новостная лента", там сделано именно все так, как мне нужно, но у меня не получается... | |
|
|
|
|
|
|
|
для: 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();
?>
|
После этого останется только сохранить имя файла в БД. | |
|
|
|
|
|
|
|
для: chocopie
(28.02.2006 в 16:08)
| |
$filename = func_that_generate_new_name();
|
А саму-то функцию я где возьму? Это-то и есть моя загвоздка! | |
|
|
|
|
|
|
|
для: mishaMC
(28.02.2006 в 16:11)
| | Я бы использовал что-нибудь типа:
<?php
function func_that_generate_new_name($extension) {
// return time().$extension;
return md5($picture.microtime()).$extension;
}
?>
|
| |
|
|
|
|
|
|
|
для: chocopie
(28.02.2006 в 15:00)
| | я буду очень рад архивчику - жду его.
а вот можно самый первый скрипт расписать поподробнее? | |
|
|
|
|
|
|
|
|
для: cheops
(28.02.2006 в 22:55)
| | спасибо Хеопс! как всегда актуально! пока вопросов больше не имею! но это временно...
а вот поиск глючить стал на этом сайте - ну мне так кажется! его уже поправили? | |
|
|
|
|
|
|
|
для: 10100100
(01.03.2006 в 05:43)
| | Да вернули обратно. | |
|
|
|