Сделал форму для загрузки картинок на сервер в заданную дирректорию и соответствующую функцию.
Так же понадобилось делать уменьшенные копии фото для вывода в фотогалерее.
Делал все стандартными методами
//$filename -путь к исходному изображению
//$dir_to_save - путь к папке,в которую будет помещаться уменьшенная копия //изображения
//$w = 200 - ширина уменьшаемой копии
//$quality = 100 - качество для jpeg
function resizeImg($filename,$dir_to_save,$w = 200,$quality = 100){
list($width,$height,$type) = getimagesize($filename);
if (!$width || !$height) {
echo 'Невозможно получить длину и ширину изображения';
return;
}
//проверяем тип изображения создаем новое изображение из старого
$types = array('','gif','jpeg','png');
$ext = $types[$type];
if ($ext) {
$func = 'imagecreatefrom'.$ext;
$scr_img = $func($filename);
} else {
echo 'Некорректный формат файла';
return;
}
//получаем размер оригинального изображения
$newWidth = $w;
$koefficient = $width/$w ;
$newHeight = $height/$koefficient ;
//создаем пустое изображение с новыми шириной и высотой
$newSizeImg = imagecreatetruecolor($newWidth, $newHeight);
//копируем исходное изображение в новое с заданными шириной и высотой без потери качества
imagecopyresampled($newSizeImg, $scr_img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
if(!file_exists($dir_to_save)){
mkdir("$dir_to_save", 777,true);}
//Создаем изображение
if ($type == 2) {
return imagejpeg($newSizeImg,$dir_to_save, $quality);
} else {
$func = 'image'.$ext;
return $func($newSizeImg,$dir_to_save);
}
// Освобождаем память
imagedestroy($scr_img);
}
В браузере выдает ошобку
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'img_small/' for writing: Permission denied in C:\Users\Public\www\htdocs\photogalery\form.php on line 45
Попробовал посмотреть,что приходит в функцию imagejpeg($newSizeImg,$dir_to_save, $quality); в переменную $newSizeImg,в которой должен быть файл для сохранения
Туда приходит echo $newSizeImg ;// Resource id #7
Что за Resource id #7 и может поэтому не сохраняется уменьшенная картиинка ????