В настоящее время я использую простой сценарий загрузки $ _FILES для загрузки изображений из приложения iPhone на сервер. Размеры изображения, однако, большие, и я хотел бы изменить их размер перед отправкой изображения на сервер.
Однако недостатком этого является то, что функция изменения размера преобразует их в «blob» изображения (которые, как я понимаю, является способом хранения изображения в базе данных). Я бы предпочел сохранить файлы непосредственно в файловой системе. Как я мог бы преобразовать blob обратно в $ _FILE или найти скрипт, который сохраняет изображения blob на диск?
Спасибо!
BLOB – это двоичное изображение. Вы можете записать это изображение в свою файловую систему, как только оно появится на вашем сервере. Итак, если ваше изображение находится в переменной $ my_blob, вы бы сделали что-то вроде
file_put_contents('/path/to/new/file_name', $my_blob);
и там вы идете.
Возможно, вам захочется сначала сохранить файл в месте tmp, затем выполнить некоторые проверки, прежде чем переместить его в конечное место (с функцией PHP rename ()).
Кстати: почему бы просто не сохранить BLOB в БД? Это законный способ обработки файлов в наши дни, вот что такое тип данных BLOB MySQL.
Попробуйте просто записать его в файл с мимическим типом image/[fill-in-the-blank]
. Или, может быть, imagecreatefromstring
будет работать. (Не уверен ни о каком из них)
Или вы можете найти другой способ изменить размер изображений.