извините что вмешиваюсь, а если так ?
и как убирать текст под спойлер ?
<?
function uploadHandle($file_form = 'error', $max_file_size = 100, $valid_extensions = array(), $upload_dir = '.', $max_width = 0)
{
$error = null;
$info = null;
$max_file_size *= 1024;
$quality = 85;
$quality_png = 9;
if ($_FILES[$file_form]['error'] === UPLOAD_ERR_OK)
{
$file_extension = pathinfo($_FILES[$file_form]['name'], PATHINFO_EXTENSION);
if (in_array($file_extension, $valid_extensions))
{
if ($_FILES[$file_form]['size'] < $max_file_size)
{
$_FILES[$file_form]["name"] = translit($_FILES[$file_form]["name"]);
$destination = $upload_dir .'/'.$_FILES[$file_form]['name'];
if (copy($_FILES[$file_form]['tmp_name'], $destination)) {
$what = getimagesize( $_FILES[$file_form]['tmp_name']);
if ($what['mime'] == 'image/gif')
$o_im = imageCreateFromGIF($_FILES[$file_form]['tmp_name']) ;
if ($what['mime'] == 'image/jpeg')
$o_im = imageCreateFromJPEG($_FILES[$file_form]['tmp_name']) ;
if ($what['mime'] == 'image/png')
$o_im = imageCreateFromPNG($_FILES[$file_form]['tmp_name']) ;
$width = imagesx($o_im);
$height = imagesy($o_im);
if (!empty($max_width) and $width > $max_width){
$newwidth = $max_width;
$newheight = round($height * $newwidth / $width) ;
}
else{
$newheight = $height;
$newwidth = $width ;
}
$t_im = imageCreateTrueColor($newwidth,$newheight);
if ($what['mime'] == 'image/png') {
setTransparency($t_im,$o_im);
imagecopyresampled($t_im, $o_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImagePNG($t_im, $upload_dir .'/'. $_FILES[$file_form]['name'],$quality_png);
} else {
imageCopyResampled($t_im, $o_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imageJPEG($t_im, $upload_dir .'/'. $_FILES[$file_form]['name'],$quality);
}
$info = "Изображение успешно загружено";
} else
$error = 'Не удалось загрузить файл - '.$destination.' ';
}
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[$file_form]['error'];
if (!empty($error_values[$error_code]))
$error = $error_values[$error_code];
else
$error = 'Случилось что-то непонятное';
}
if ($info != NULL)
return $info;
else
return $error;
}
function translit($str) {
$tr = array(
"А"=>"A","Б"=>"B","В"=>"V","Г"=>"G",
"Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I",
"Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N",
"О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T",
"У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH",
"Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"",
"Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b",
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
"ы"=>"yi","ь"=>"'","э"=>"e","ю"=>"yu","я"=>"ya",
" "=>"_","?"=>"_","/"=>"_","\\"=>"_",
"*"=>"_",":"=>"_","*"=>"_","\""=>"_","<"=>"_",
">"=>"_","|"=>"_","%"=>"_"
);
return strtr($str,$tr);
}
function setTransparency($new_image, $image_source) {
$transparencyIndex = imagecolortransparent($image_source);
$transparencyColor = array('red' => 255, 'green' => 255, 'blue' => 255);
if ($transparencyIndex >= 0)
$transparencyColor = imagecolorsforindex($image_source, $transparencyIndex);
$transparencyIndex = imagecolorallocate($new_image, $transparencyColor['red'], $transparencyColor['green'], $transparencyColor['blue']);
imagefill($new_image, 0, 0, $transparencyIndex);
imagecolortransparent($new_image, $transparencyIndex);
}
$extensions = array('jpg', 'jpeg', 'png', 'gif', 'JPG', 'JPEG', 'PNG', 'GIF');
$uploaddir = '/home/site.ru/www/upload/';
echo uploadHandle($file_form, 1024, $extensions, $uploaddir, 1024);