Php загрузить файл, затем обрезать
Я нахожусь на проекте Cordova. Я использую Jquery и плагин Jcrop и Php GD на моей стороне сервера. Когда я загружаю аватар пользователя, я пытаюсь обрезать картинку. Загрузка идет хорошо, но ничего не происходит для урожая.
код php:
if(move_uploaded_file($file,$dirname."/avatar.jpeg")){
$targ_w = $targ_h = 150;
$src = $dirname.'/avatar.jpeg';
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
imagecopyresampled($dst_r,$img_r,0,0,$_POST['avatar_x'],$_POST['avatar_y'], $targ_w,$targ_h,$_POST['avatar_w'],$_POST['avatar_h']);
}else{...}
у меня нет сообщения об ошибке
1 ответ
Решение
Ничего не происходит, потому что вы ничего не делаете с результатом. Смотрите документацию дляimagecopyresampled
:
imagecopyresampled()
займет прямоугольную область отsrc_image
[...] и поместите это в прямоугольную областьdst_image
,
После запуска этой функции результат будет в $dst_r
, который по-прежнему является ресурсом изображения в памяти. Теперь вы должны сохранить его в файл. Это можно сделать с помощью imagejpeg
функция, например:
imagejpeg($dst_r, "$dirname/avatar_cropped.jpeg");