Подскажите, пожалуйста, как разместить фотографию в Mysql?
>Подскажите, пожалуйста, как разместить фотографию в Mysql?Можно запихнуть ее в blob поле (просто открыв файл картинки, прочитать его и записать содержимое в blob поле таблицы в mysql), но сначала нужно подумать, нужно ли это делать ;)
>>Подскажите, пожалуйста, как разместить фотографию в Mysql?
>
>Можно запихнуть ее в blob поле (просто открыв файл картинки, прочитать его
>и записать содержимое в blob поле таблицы в mysql), но сначала
>нужно подумать, нужно ли это делать ;)
А как? подробнее можно. И какие могут быть проблемы? Может есть альтернатива? Прошу подробнее, а то весь интернет уже перерыл
>А как? подробнее можно. И какие могут быть проблемы? Может есть альтернатива?
>Прошу подробнее, а то весь интернет уже перерылВообще, в базу гораздо удобнее хранить ПУТЬ к файлу картинки, а не саму картинку. Я поэтому и написал, что перед тем, как реализовывать хранение бинарных файлов в базе, нужно подумать, реально ли это нужно, и только будучи абсолютно уверенным, реализовывать.
насчет вопроса "как?" давайте сначала определимся, на каком языке делаем.
есди речь идет, например, о php, то код получится примерно таким:<?
$filename=dirname(__FILE__) . "/picture.jpg";$fp=@fopen($filename, "r");
if($fp){
$filecontents=fread($fp, filesize($filename));
fclose($fp);$res=mysql_query("insert into TABLE (imagecontent) values ('".mysql_escape_string($filecontents)."') where 1");
//Поле imagecontent должно быть, естественно, типа BLOB
if($res) echo "Image copied into database"; else "failed to copy image into database";
}else die("file not found");?>
ну и показывать его потом соответственно предварительно послав заголовок, что это картинка:<?
header("Content-Type: image/jpeg");
echo $filecontents; //просто с поток выливаем сожержимое файла
?>примерно так. Для остальных языков алгоритм абсолютно тот же.
Пишу на php (пытаюсь)
Вот так я вставляю айл на сервер.
Форма
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form></body>
Скрипт формы
<body>
<?php
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
if(copy($_FILES["filename"]["tmp_name"],
"c:/temp/".$_FILES["filename"]["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES["filename"]["name"]);
echo("<br>Размер файла: ");
echo($_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES["filename"]["type"]);
} else {
echo("Ошибка загрузки файла");
}
?></body>
И что дальше как переместить ссылку в базу?