Опитвам се да кача снимка от мобилно устройство на сървър. Изграждаме с 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 и т.н.?
Благодаря предварително за всяка помощ!
Нейтън