Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
skaynet
14 / 14 / 2
Регистрация: 25.01.2012
Сообщений: 180
1

Нужно переделать под фотоальбом

10.02.2012, 00:09. Просмотров 511. Ответов 0
Метки нет (Все метки)

Доброго времени суток нужна ваша помощ
Есть скрипт загрузки аватара нужно переделать под загрузку личных фотографий помогите
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
////////////////////////
////////ИЗМЕНЕНИЕ АВАТАРЫ
////////////////////////
 
else if (isset($_FILES['fupload']['name'])) //отправлялась ли переменная
      {
 
if (empty($_FILES['fupload']['name']))
{
//если переменная пустая (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара"
$avatar = "avatars/net-avatara.jpg"; //можете нарисовать net-avatara.jpg или взять в исходниках
$result7 = mysql_query("SELECT avatar FROM users WHERE login='$old_login'",$db);//извлекаем текущий аватар
$myrow7 = mysql_fetch_array($result7);
if ($myrow7['avatar'] == $ava) {//если аватар был стандартный, то не удаляем его, ведь у на одна картинка на всех.
$ava = 1;
}
else {unlink ($myrow7['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
 
// Создание квадрата 90x90
// dest - результирующее изображение 
// w - ширина изображения 
// ratio - коэффициент пропорциональности 
 
$w = 170;  // квадратная 90x90. Можно поставить и другой размер.
 
// создаём исходное изображение на основе 
// исходного файла и определяем его размеры 
$w_src = imagesx($im); //вычисляем ширину
$h_src = imagesy($im); //вычисляем высоту изображения
 
         // создаём пустую квадратную картинку 
         // важно именно 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, $w_src); 
         
 
$date=time(); //вычисляем время в настоящий момент.
imagejpeg($dest, $path_to_90_directory.$date.".jpg");//сохраняем изображение формата jpg в нужную папку, именем будет текущее время. Сделано, чтобы у аватаров не было одинаковых имен.
 
//почему именно jpg? Он занимает очень мало места + уничтожается анимирование gif изображения, которое отвлекает пользователя. Не очень приятно читать его комментарий, когда краем глаза замечаешь какое-то движение.
 
$avatar = $path_to_90_directory.$date.".jpg";//заносим в переменную путь до аватара.
 
$delfull = $path_to_90_directory.$filename; 
unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен. Задачей было - получить миниатюру.
 
$result7 = mysql_query("SELECT avatar FROM users WHERE login='$old_login'",$db);//извлекаем текущий аватар пользователя
$myrow7 = mysql_fetch_array($result7);
 
if ($myrow7['avatar'] == $ava) {//если он стандартный, то не удаляем его, ведь у нас одна картинка на всех.
$ava = 1;
}
else {unlink ($myrow7['avatar']);}//если аватар был свой, то удаляем его
 
 
}
else 
        {
        //в случае несоответствия формата, выдаем соответствующее сообщение
        exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>");
        }
 
}
 
$result4 = mysql_query("UPDATE users SET avatar='$avatar' WHERE login='$old_login'",$db);//обновляем аватар в базе
if ($result4=='TRUE') {//если верно, то отправляем на личную страничку
echo "<html><head><meta http-equiv='Refresh' content='5; URL=page.php?id=".$_SESSION['id']."'></head><body>Ваша аватарка изменена! Вы будете перемещены через 5 сек. Если не хотите ждать, то <a href='page.php?id=".$_SESSION['id']."'>нажмите сюда.</a></body></html>";}
 
      }
за ранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2012, 00:09
Ответы с готовыми решениями:

Переделать игру под мобильные
Вот недавно нашел Скрипт космической онлайн стратегии 2 Moons, вот только она для компьютеров,...

Html вк, переделать под себя
Новая версия авторизации ВК, теперь выглядит вот так, помогите сделать так, чтобы авторизация не...

Нужно переделать функцию
Всем привет ! Нужно переделать функцию full_stats , так что-бы вместо $answ1,$answ2,$answ3 ... она...

Есть 5 задач написанных на с++, нужно переделать их в php
Есть 5 задач написанных на с++, нужно переделать их в php

фотоальбом
решила сделать так в таблице image создала строку news_id (в нее будет вписываться ид новость)...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2012, 00:09

Небольшой фотоальбом
Ребят, нужна помощь, задали мне сделать небольшой фотоальбом на ПХП с возможностью добавления и...

Помогите сделать фотоальбом
Хочу на сайте сделать страничку где бы выводились фотки в таком виде: Выводятся миниатюры фоток при...

Нужно ли переписывать код под memcached?
Нужно ли дополнять что-либо в PHP код купленной и рабочей CMS для работы memcached (независимо от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru