Я пытаюсь загрузить изображение с мобильного устройства на сервер. Мы строим с помощью PhoneGap (Javascript), поэтому нам нужно превратить его в строку, чтобы отправить на сервер. У меня возникают проблемы, когда я получаю его, чтобы превратить его обратно в читаемый файл изображения. Проще говоря, мне нужно взять строку и имя файла, присланные мне, декодировать их, преобразовать в .png, а затем обрезать в круглое изображение.
Это то, что у меня происходит в настоящее время
if (isset($_POST['file']))
{
//Result variable
$result = false;
$pic = base64_decode($_POST['file']);
$filename = $_POST['filename'];
if (strlen($pic) > 9 )
{
$fh = fopen("/var/www/pics/events/".$filename, 'w') or die("can't open file");
fwrite($fh, $pic);
fclose($fh);
}
}
Я думаю, что смогу заставить остальную часть кода работать, если я смогу понять, что я делаю здесь неправильно, из-за чего он не сохраняется должным образом в виде файла изображения? Файл загружается правильно, но сохраняется без расширения, и когда я указываю на него в своем браузере, он отображается так, как будто это должен быть файл изображения, но никогда не отображает изображение. Этот маленький сломанный значок изображения с цветными фигурами — это то, что я получаю, когда направляю его местоположение.
Нужно ли вообще знать, какой тип изображения отправляется во время этого процесса? Как узнать, является ли это форматом .gif, .jpg/jpeg, .png и т. д.?
Заранее благодарю за любую помощь!
Натан