Forum Webscript.Ru
Программирование => PHP => Тема начата: Mefisto от 10 Января 2007, 15:54:11
-
есть таблица mySQL c картинками в поле BLOB. будет конвертация этой таблицы для нового сайта (перенос контента). Можно ли картинки из поля BLOB сохранить в файлы?
-
Mefisto
Можно, читаешь данные из базы из поля BLOB, записываешь в файл.
-
обычным fwrite ?
-
Mefisto:
обычным fwrite ?
ну да, только fopen(\'filename.gif\', \'wb\')
-
спс
-
к сожалению проблема...
картинки сохраняются битыми
у большинства при просмотре 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";
}
-
Mefisto
советую посмотреть в сторону кодировок сервера при запросах
SET NAMES \'cp_1251\'
-
вот так?
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";
}
-
Mefisto:
вот так?
кодровку-то так можно изменить, только дело ли в кодировке, я не знаю...
Может быть имеет смысл сделать дамп таблицы, если всё равно её переносить?
-
кодровку-то так можно изменить, только дело ли в кодировке, я не знаю...
Может быть имеет смысл сделать дамп таблицы, если всё равно её переносить?
предыдущие разработчики сайта хранили картинки в BLOB, мы же храним в файлах, вот и понадобилось конвертировать все в файлы...
-
можно попробывать создавать файлы с помощью imagecreatefromstring
или ей подобных