Изображения iPhoto не работают в моем сценарии PHP

Я создал простой сценарий PHP, чтобы обрезать изображение, которое ранее было загружено пользователем на сервер, и сохранить его в другой папке в качестве эскиза.

$src_x    = $_POST['left']; // Crop start x
$src_y    = $_POST['top'];  // Crop start y
$dst_w    = $_POST['dim'];  // Thumb width
$dst_h    = $_POST['dim'];  // Thumb height
$src_w    = $_POST['dim'];  // $src_x + $dst_w
$src_h    = $_POST['dim'];  // $src_y + $dst_h
$contact  = $_POST['contact'];
$ratio    = $_POST['ratio'];
$file_tmp = $_POST['file_tmp'];
$file_ext  = strtolower(end(explode('.', $file_tmp)));

$img_info = getimagesize($file_tmp);

if ($file_ext == 'png') {
    $src = imagecreatefrompng($file_tmp);
}
else if ($file_ext == 'jpeg' || $file_ext == 'jpg') {
    $src = imagecreatefromjpeg($file_tmp);
}
else if ($file_ext == 'gif') {
    $src = imagecreatefromgif($file_tmp);
}

$dst = imagecreatetruecolor(154, 154);

imagecopyresampled($dst, $src, 0, 0, $src_x * $ratio, $src_y * $ratio, 154, 154, $src_w * $ratio, $src_h * $ratio);

$img_name = $contact.'.png';
imagepng ($dst, '../images/invitados/'.$img_name);

Сценарий работает на 100% нормально со всеми ИСКЛЮЧЕНИЯМИ jpeg / jpg / gif / png для тех изображений, которые были импортированы пользователем с помощью iPhoto... Кто-нибудь знает, что происходит??? Я схожу с ума, потому что я понятия не имею, где может быть проблема... Скрипт даже не возвращает черное изображение, поэтому он даже не создает png...

Пожалуйста помоги!

Большое спасибо

1 ответ

Проверьте формат изображения, который был экспортирован из iPhoto. Фотографии из iPhoto можно экспортировать как JPEG | PNG | TIFF.

Возможно, изображения, которые вы пытаетесь обрезать, имеют формат TIFF, который не включен в ваш сценарий при условии.

Другие вопросы по тегам