Хранение загруженных изображений в tmpfolder для изменения размера - PullRequest
1 голос
/ 04 апреля 2011

Я работаю над сценарием загрузки, который также изменяет / изменяет размеры изображения.

В настоящее время он работает, загружая изображение, перемещаясь в каталог загрузки (site.com/upload), а затем изменяя его размер, а затем снова удаляя оригинал ...

Теперь мой вопрос: Могу ли я сделать это, не перемещая оригинал в каталог для загрузки и, что еще лучше, сохраняя новый файл в tmp, чтобы я мог впоследствии подтвердить изображение (так что если он не хочет его и просто нажимает кнопку «назад», его не останется в загрузочной директории.)

Текущий код:

move_uploaded_file($_FILES['file']['tmp_name'], 'resize-upload/'.$_FILES['file']['name']);
$filename=$_FILES['file']['name'];    
$Imagick=new Imagick();
$Imagick-> readImage('resize-upload/'.$filename);
$Imagick-> scaleImage(200,200,auto);
$Imagick-> writeImage('resize-upload/resized-'.$filename);


unlink('resize-upload/'.$filename);

1 Ответ

4 голосов
/ 04 апреля 2011

Вы не можете. У вас нет доступа к изображению, если вы еще не переместили его. Но вы можете создавать более одного эскиза одновременно из одного и того же изображения / объекта, и если вы также сохраняете / сохраняете оригинал, вам также не нужно его связывать.

Другим способом было бы использовать flash и изменить размер изображения на стороне клиента, а затем сохранить только измененное изображение.

...