Помогите разобраться, Сам уже не способен...
<?php
function uploadHandle($max_file_size = 100, $valid_extensions = array(), $upload_dir = '.', $img_name = '.')
{
$error = null;
$info = null;
$max_file_size *= 5102;
if ($_FILES['userfile']['error'] === UPLOAD_ERR_OK)
{
// проверяем расширение файла
$file_extension = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
if (in_array($file_extension, $valid_extensions))
{
// проверяем размер файла
if ($_FILES['userfile']['size'] < $max_file_size)
{
$destination = $upload_dir . '/' . $img_name . '.' . $file_extension;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $destination))
/////////////////// М И Н И А Т Ю Р А /////////////////////////////////
list($width, $height) = getimagesize($destination); // Возвращает ширину и высоту.
[u]ОШИБКА В СТРОКЕ ВЫШЕ ДУМАЮ ЕСТЬ, ну просто на этом место стопорит точно[/u]
$newheight = $height * $size;
$newwidth = $newheight / $width;
$thumb = imagecreatetruecolor($size, $newwidth);
switch ($file_extension) {
case 'jpg':
$source = @imagecreatefromjpeg($destination);
break;
case 'jpeg':
$source = @imagecreatefromjpeg($destination);
break;
case 'gif':
$source = @imagecreatefromgif($destination);
break;
case 'png':
$source = @imagecreatefrompng($destination);
break;
case 'bmp':
$source = @imagecreatefromwbmp($destination);
};
// Функция наложения, копирования изображения
imagecopyresized($thumb, $source, 0, 0, 0, 0, $size, $newwidth, $width, $height);
// Создаем изображение
switch ($file_extension) {
case 'jpg':
imagejpeg($thumb, $upload_dir . '/min/' . $img_name . '.' . $file_extension, $quality);
break;
case 'jpeg':
imagejpeg($thumb, $upload_dir . '/min/' . $img_name . '.' . $file_extension, $quality);
break;
case 'gif':
imagegif($thumb, $upload_dir . '/min/' . $img_name . '.' . $file_extension);
break;
case 'png':
imagepng($thumb, $upload_dir . '/min/' . $img_name . '.' . $file_extension, $quality);
break;
case 'bmp':
imagewbmp($thumb, $upload_dir . '/min/' . $img_name . '.' . $file_extension);
break;
};
// Удаляем устаревшие бяки
@imagedestroy($thumb);
@imagedestroy($source);
/////////////////////////////////////////////////////////////////////
$info = 'Файл успешно загружен ' . $img_name . '.' . $file_extension;
else
$error = 'Не удалось загрузить файл';
}
else
$error = 'Размер файла больше допустимого';
}
else
$error = 'У файла недопустимое расширение';
}
else
{
// массив ошибок
$error_values = array(
UPLOAD_ERR_INI_SIZE => 'Размер файла больше разрешенного директивой upload_max_filesize в php.ini',
UPLOAD_ERR_FORM_SIZE => 'Размер файла превышает указанное значение в MAX_FILE_SIZE',
UPLOAD_ERR_PARTIAL => 'Файл был загружен только частично',
UPLOAD_ERR_NO_FILE => 'Не был выбран файл для загрузки',
UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',
UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск'
);
$error_code = $_FILES['userfile']['error'];
if (!empty($error_values[$error_code]))
$error = $error_values[$error_code];
else
$error = 'Случилось что-то непонятное';
}
return array('info' => $info, 'error' => $error);
}
/////////////////////////////////////////////////////////////////////
$extensions = array('jpg', 'jpeg', 'png', 'gif', 'bmp');
$upload_dir = '/skins/images/downloaded';
$img_name = time() . rand(0, 1000);
$size = 250;
$quality = 85;