LINUX.ORG.RU
ФорумAdmin

База MySQL, запись файла в поле LONGBLOB происходит не до конца

 ,


0

1

Здравствуйте! Пробую загрузить изображение в базу, поле в базе с типом LONGBLOB, файл заливается не до конца. Файлы маленькие - 50...500 Кб. Пробовал загружать через POST запрос и через phpMyAdmin - результат одинаков. Один и тот же файл при загрузке обрывается на том же месте. Разные файлы - на разных местах. Символы, на которых идет обрезка данных, у каждого файла разные. Например, файл в 350 кб обрезается до 307 кб, 100 кб - до 90 кб. Перед загрузкой через POST пробовал различные варианты экранирования - addslashes, mysql_escape_string, mysql_real_escape_string - результат одинаков. Пробовал менять кодировку соединения с базой через mysql_query(«SET NAMES 'utf8'») и mysql_set_charset(«utf8») - не помогает. Естественно, облазил уже все поисковики - похожей проблемы не нашел. Попробовал на другом сервере - эти же скрипты и базы работают без проблем. Значит, проблема не в скриптах, а в настройках сервера. Но вот в каких? Сравнить настройки на удаленном сервере с моими настройками - нет возможности. Помогите советом. Где может быть у меня ошибочка?

а разве не нужно делать base64 encoding файла перед загрузкой в базу, как это происходит с бинарным аттачем e-mail?

Vlad-76 ★★★★
()
Ответ на: комментарий от Vlad-76

Может и нужно, попробую на своем сервере. Но на другом сервере и без этого инкодинга загружается корректно. Я думаю, в поле BLOB по фигу какие байты хранить, лишь бы при запросе на запись на было спецсимволов MySQL, а об этом заботится mysql_real_escape_string.

marvitalik
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.