Я использую форму для загрузки изображения. После загрузки изображения мы сможем увидеть загруженное изображение. Затем я использовал JCrop
(http://deepliquid.com/content/Jcrop.html), чтобы разрешить кадрирование для этого изображения. Предположим, меня интересуют только JPEG
изображения. Затем я готов отправить форму.
После отправки формы я выполню некоторые манипуляции с изображением и обрежу изображение. Однако я хочу поместить информацию об этом обрезанном изображении обратно в массив $_FILES
(это обязательно). Как мне манипулировать этим массивом $_FILES
в PHP-скрипте?
Вот что я пробовал, и это не сработало.
$upload_dir = '/Users/user/Sites/tmp/';
$file_name = $_FILES['image']['name'];
$file_name = "cropped_".$file_name;
$tmp_name = $_FILES['image']['tmp_name'];
$file_size = $_FILES['image']['size'];
$src_file = imagecreatefromjpeg($tmp_name);
list($width,$height) = getimagesize($tmp_name);
// Creates cropped image
$tmp = imagecreatetruecolor($_POST['w'], $_POST['h']);
imagecopyresampled($tmp, $src_file, 0, 0, $_POST['x'], $_POST['y'], $_POST['w'], $_POST['h'], $_POST['w'], $_POST['h']);
$small_pic_file_path = $upload_dir.$file_name;
imagejpeg($tmp,$small_pic_file_path,85);
$message = "<img src='http://localhost/~user/tmp/".$file_name."'>";
$_FILES['image']['name'] = $file_name;
$_FILES['image']['type'] = "image/jpeg";
// unlink($tmp_name);
// if(!move_uploaded_file($upload_dir.$file_name, $tmp_name)) echo "Failure Moving Image";
$_FILES['image']['tmp_name'] = $upload_dir.$file_name;
$_FILES['image']['error'] = 0;
$sizes = getimagesize($upload_dir.$file_name);
$_FILES['image']['size'] = ($sizes['0'] * $sizes['1']);
Можно ли изменить этот массив $_FILES
?