Forum Webscript.Ru

Программирование => PHP => Тема начата: Mefisto от 10 Января 2007, 15:54:11

Название: сохранить картинки из базы
Отправлено: Mefisto от 10 Января 2007, 15:54:11
есть таблица mySQL c картинками в поле BLOB. будет конвертация этой таблицы для нового сайта (перенос контента). Можно ли картинки из поля BLOB сохранить в файлы?
Название: сохранить картинки из базы
Отправлено: html_coder от 10 Января 2007, 16:17:13
Mefisto

Можно, читаешь данные из базы из поля BLOB, записываешь в файл.
Название: сохранить картинки из базы
Отправлено: Mefisto от 10 Января 2007, 16:32:11
обычным fwrite ?
Название: сохранить картинки из базы
Отправлено: html_coder от 10 Января 2007, 16:43:12
Цитировать
Mefisto:
обычным fwrite ?


ну да, только fopen(\'filename.gif\', \'wb\')
Название: сохранить картинки из базы
Отправлено: Mefisto от 10 Января 2007, 17:07:11
спс
Название: сохранить картинки из базы
Отправлено: Mefisto от 20 Сентября 2007, 00:01:49
к сожалению проблема...

картинки сохраняются битыми
у большинства при просмотре Irfan View пишет "Невозможно прочитать заголовок изображения"

вот код


$s=mysql_query("SELECT * FROM table");
while($r=mysql_fetch_assoc($s)){

$filename="vendor_".$r[\'factory_id\'].".jpg";
$F=fopen("../vendors_images/".$filename, \'wb\');
fwrite($F,$r[\'logo_blob\']);
fclose($F);
echo $filename."
";
if(!$F) echo "false";


}
Название: сохранить картинки из базы
Отправлено: andymc от 20 Сентября 2007, 00:36:18
Mefisto
советую посмотреть в сторону кодировок сервера при запросах
SET NAMES \'cp_1251\'
Название: сохранить картинки из базы
Отправлено: Mefisto от 20 Сентября 2007, 14:45:21
вот так?


mysql_query("SET NAMES \'cp_1251\'");
$s=mysql_query("SELECT * FROM table");
while($r=mysql_fetch_assoc($s)){
   
    $filename="vendor_".$r[\'factory_id\'].".jpg";
    $F=fopen("../vendors_images/".$filename, \'wb\');
    fwrite($F,$r[\'logo_blob\']);
    fclose($F);
    echo $filename."
";
    if(!$F) echo "false";
   
   
}
Название: сохранить картинки из базы
Отправлено: andymc от 20 Сентября 2007, 23:57:57
Цитировать
Mefisto:
вот так?

кодровку-то так можно изменить, только дело ли в кодировке, я не знаю...
Может быть имеет смысл сделать дамп таблицы, если всё равно её переносить?
Название: сохранить картинки из базы
Отправлено: Mefisto от 21 Сентября 2007, 13:44:41
Цитировать
кодровку-то так можно изменить, только дело ли в кодировке, я не знаю...
Может быть имеет смысл сделать дамп таблицы, если всё равно её переносить?


предыдущие разработчики сайта хранили картинки в BLOB, мы же храним в файлах, вот и понадобилось конвертировать все в файлы...
Название: сохранить картинки из базы
Отправлено: new_coder от 28 Сентября 2007, 14:16:46
можно попробывать создавать файлы с помощью imagecreatefromstring
или ей подобных