После загрузки файла он переходит во временный каталог.Bulletproof перемещает этот файл из временного каталога в нужное вам место.Таким образом, вы больше не можете получить доступ к временному файлу, потому что вашего файла больше нет. Вы можете сохранить, а затем скопировать, изменить размер с помощью gd или другой библиотеки изображений.
Я не тестировалэто, но я думаю, что это будет прекрасно работать
(для работы требуется библиотека GD)
$image = new Bulletproof\Image($_FILES);
$image->setName(uniqid() . '-large');
$image->setMime(array('jpg', 'png', 'jpeg'));
$image->setLocation('../../assets/images/usercontent/site/tutorials/');
if($image["banner"]){
if($image->upload()) {
$create = $engine->runQuery("INSERT INTO site_uploads(hook_id, image_id, type, category) VALUES(:hook_id, :image_id, :type, :category)");
$create->execute(array(':hook_id'=>$_POST['id'], ':image_id'=>$image->getName(), ':type'=>$image->getMime(), ':category'=>'0'));
bulletproof\utils\resize($image->getFullPath(), $image->getMime(), $image->getWidth(), $image->getHeight(), 250, 400);
$file = $image->getFullPath();
$mime = getimagesize($file)["mime"];
if ($mime == "image/png"){$image = imagecreatefrompng($file);}
else if ($mime == ("image/jpg" or "image/jpeg" or "image/pjpeg")){$image = imagecreatefromjpeg($file);}
else {$image = false;}
if ($image !== false){
// edit -- I forget to add variable
$image = imagescale($image, 190, 175);
imagejpeg($image, str_replace("-large", "-small", $image->getFullPath()));
// image saved to same directory as uniqid()-large.***
// So now you can do sql things
imagedestroy($image);
}else {
// Can't open image
}
}
}
РЕДАКТИРОВАТЬ Я не был 'не заметил, но возможно для этого можно использовать пуленепробиваемый \ utils \ resize.
$newname = str_replace("-large", "-small", $image->getFullPath());
if (copy($image->getFullPath(), $newname)) {
bulletproof\utils\resize($newname, $image->getMime(), $image->getWidth(), $image->getHeight(), 175, 190);
}else {
// Can't copy file
}