[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не создаётся динамическая аватарка
Гость_Александр
Здравствуйте делал все как сказано здесь
в коде файла save_edit.php изменил
////////Изменение аватары

if (isset($_FILES['fupload']['name'])){ //отправлялась ли переменная

if (empty($_FILES['fupload']['name']) AND $_FILES['fupload']['name'] == ''){

$noAvatar = "noAvatar.jpg";//изображение если пользователь не загрузил свое
$result = mysql_query("SELECT avatar FROM users WHERE id='$id_user'");//извлекаем текущий аватар
$avatarka = mysql_fetch_array($result);

if ($avatarka['avatar'] != $noAvatar) {//если аватар был стандартный, то не удаляем его, ведь у на одна картинка на всех.
unlink ('avatars/'.$avatarka['avatar']);
}
}
else{
//иначе - загружаем изображение пользователя для обновления
$path_to_90_directory = 'avatars/';//папка, куда будет загружаться начальная картинка и ее сжатая копия

if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))/ /проверка формата исходного изображения
{

$filename = $_FILES['fupload']['name'];
$source = $_FILES['fupload']['tmp_name'];
$target = $path_to_90_directory . $filename;
move_uploaded_file($source, $target);//загрузка оригинала в папку $path_to_90_directory

if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
$im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif
}
if(preg_match('/[.](PNG)|(png)$/', $filename)) {
$im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png
}

if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
$im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg
}

//СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru

$h = 40;
$w = 60; // ширина изображения

$quality = 100; //Качество создаваемого изображения max 100

$w_src = imagesx($im); //вычисляем ширину
$h_src = imagesy($im); //вычисляем высоту изображения

//Создавать квадратное изображение $rezim = 1
//Создать изображение пропорционально оригиналу $rezim = 2

$rezim = 2;

switch ($rezim){
//**************************** 1
case "1" :

// создаём пустую квадратную картинку
// важно именно truecolor!, иначе будем иметь 8-битный результат
$dest = imagecreatetruecolor($w,$w);

// вырезаем квадратную серединку по x, если фото горизонтальное

if ($w_src > $h_src){
imagecopyresampled($dest, $im, 0, 0, round((max($w_src,$h_src)-min($w_src,$h_src))/2), 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
}
// вырезаем квадратную верхушку по y,
if ($w_src < $h_src){
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
}
// квадратная картинка масштабируется без вырезок

if ($w_src == $h_src){
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $h_src);
}

break;
//***************************** 2
case "2" :
$prop = $w_src/$h_src;

$dest = imagecreatetruecolor($w,$h);
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $h, $w_src, $h_src);
break;
}
$random = rand(1000000, 9999999);
imagejpeg($dest, $path_to_90_directory.$random.".jpg", $quality);//сохраняем изображение формата jpg в нужную папку

$avatar = $random.".jpg";//заносим в переменную путь до аватара.

$delfull = $path_to_90_directory.$filename;
unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен.

$result = mysql_query("SELECT avatar FROM users WHERE id='$id_user'");//извлекаем текущий аватар пользователя
$avatarka = mysql_fetch_array($result);

if ($avatarka['avatar'] != $noAvatar) {//если аватар был стандартный, то не удаляем его, ведь у на одна картинка на всех.
unlink ('avatars/'.$avatarka['avatar']);
}
}
else{
//в случае несоответствия формата, выдаем соответствующее сообщение
exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>");
}
}
$up = mysql_query("UPDATE users SET avatar='$avatar' WHERE id='$id_user'");//обновляем аватар в базе
if ($up == true) {//если верно, то отправляем на личную страничку
echo "<meta http-equiv='Refresh' content='0; URL=view_server.php?id=".$id_user."'>";
}
}


Проблема состоит в том что когда загружаю динамическую автарку то вместо неё получается чёрный прямоугольник
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.