Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 2
Регистрация: 06.04.2012
Сообщений: 40

Загрузка фотографии

10.04.2012, 00:44. Показов 2019. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
113
114
115
116
117
118
119
<?php 
          
           
// дописываем новое********************************************          
           
                    
if    (!empty($_POST['fupload'])) //проверяем, отправил    ли пользователь изображение
            {
            $fupload=$_POST['fupload'];    $fupload = trim($fupload); 
              if ($fupload =='' or empty($fupload)) {
                                 unset($fupload);// если переменная $fupload пуста, то удаляем ее
                                                            }
            }          
if    (!isset($fupload) or empty($fupload) or $fupload =='')
            {
            //если переменной не существует (пользователь не отправил    изображение),то присваиваем ему заранее приготовленную картинку с надписью    "нет фотографии"
            $avatar    = "avatars/net-avatara.jpg"; //можете    нарисовать net-avatara.jpg или взять в исходниках
            }          
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 
                                $avatar2    = $path_to_90_directory.$target;//запись в переменную адреса оригинала                         
         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    = 250;  //    квадратная 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; 
            
            }
            else 
                     {
                                //в случае    несоответствия формата, выдаем соответствующее сообщение
                     exit ("Фото должно быть в    формате <strong>JPG,GIF или PNG</strong>");
                             }
            //конец процесса загрузки и присвоения переменной $avatar адреса    загруженной авы
            }          
 
 
            //можно добавить несколько своих символов по вкусу, например,    вписав "b3p6f". Если этот пароль будут взламывать методом подбора у    себя на сервере этой же md5,то явно ничего хорошего не выйдет. Но советую    ставить другие символы, можно в начале строки или в середине.          
//При этом необходимо увеличить длину поля password в базе.    Зашифрованный пароль может получится гораздо большего размера.          
// дописали новое********************************************          
// Далее идет все из первой части статьи,но необходимо    дописать изменение в запрос к базе. 
            //подключаемся к базе
            // файл bd.php должен быть в той    же папке, что и все остальные, если это не так, то просто измените путь
                   
                   $db = mysql_connect ("localhost","ivan","lehfrz1");
        mysql_select_db ("avto",$db);
// если такого нет, то сохраняем данные
            $god=$_POST['god'];
            $cena=$_POST['cena'];
            $telephone=$_POST['telephone'];
            $email=$_POST['email'];
            $name=$_POST['name'];
            $models=$_POST['models'];
            $marka=$_POST['marka'];
            $result2 = mysql_query ("INSERT INTO auto (marka,name,models,god,cena,telephone,avatar,avatar2,email)    VALUES('$marka','$name','$models','$god','$cena','$telephone','$avatar','$avatar2','email')");
            // Проверяем, есть ли ошибки
            if ($result2=='TRUE')
            {
 
            echo "Вы успешно добавили объявление! Теперь вы можете зайти    на сайт. <a href='index.html'>Главная страница</a>";
 
            }          
else {
            echo "Ошибка! Что-то пошло не так....";
                 }
 
            ?>
Доброе время суток! Помогите разобраться со скриптом, он пишет что необходимо загружать фото в формате... и пошел перечислять. Хотя фотография необходимого формата. На подписи не обращайте внимание, многое было вырезано)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.04.2012, 00:44
Ответы с готовыми решениями:

Отображаются не все фотографии из БД
Всем привет, такая супер проблема, на странице галереи много фотографий все они идут из базы через этот скрипт &lt;?php ...

Описание для фотографии из галереи
Всем доброго времени суток, столкнулся с такой проблемой : имеется галерея , просто отображаются картинки которые прикреплены к бд , и я...

Исключить из вывода фотографии из закрытого альбома
Доброго времени суток. В общем в двух словах, делаю фотоальбомы и нужно сделать так, что бы выводились последние несколько фоток. Вывод я...

4
 Аватар для allukard
307 / 218 / 70
Регистрация: 08.11.2010
Сообщений: 1,899
10.04.2012, 09:27
Чёткий код!
0
1 / 1 / 2
Регистрация: 06.04.2012
Сообщений: 40
10.04.2012, 12:45  [ТС]
Цитата Сообщение от Макc Посмотреть сообщение
Чёткий код!
Омич оценил! К успеху иду!
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
10.04.2012, 13:01
мне хватило первого условия
PHP
1
2
3
4
5
6
7
8
9
if    (!empty($_POST['fupload'])) 
            {
            $fupload=$_POST['fupload'];  
            $fupload = trim($fupload);  // сразу не судьба тримануть ?
              if ($fupload =='' or empty($fupload)) { // эти условия одинаковые
            // и как $fupload может быть пустым когда мы его пустоту проверяли 1ым условием ?
                                 unset($fupload);
                                                            }
            }
// тут весь код переписывать надо
PHP
1
$fupload = (!empty($_POST['fupload']))  ? trim($_POST['fupload']) : null ;
0
1 / 1 / 2
Регистрация: 06.04.2012
Сообщений: 40
10.04.2012, 13:06  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
мне хватило первого условия
PHP
1
2
3
4
5
6
7
8
9
if    (!empty($_POST['fupload'])) 
            {
            $fupload=$_POST['fupload'];  
            $fupload = trim($fupload);  // сразу не судьба тримануть ?
              if ($fupload =='' or empty($fupload)) { // эти условия одинаковые
            // и как $fupload может быть пустым когда мы его пустоту проверяли 1ым условием ?
                                 unset($fupload);
                                                            }
            }
// тут весь код переписывать надо
PHP
1
$fupload = (!empty($_POST['fupload']))  ? trim($_POST['fupload']) : null ;
ясно, копи паст не прошел, спасибо за ответы! буду разбираться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2012, 13:06
Помогаю со студенческими работами здесь

Загрузка и вывод фотографии
пожалуйста помогите сделать форму, с которой загружалась бы фото, а потом если фото загружено появлялась картинка и название. Это всё без...

фотографии боком
Как решить такую проблему? Не понял какая программа в windows xp поворачивает фотки, делая их вертикальными, А скрипт пхп при...

Как уменьшить размер фотографии
добрый день Ето скрить watermarka и загрузки картинок на сервер, но есть одна проблема я тут не магу сделать чтобы при добавлении...

Не отображаются фотографии товара при сохранении
Не отображаются фотографии товара при сохранении. При загрузке фотографии ставится разрешение на родную фотографию 640, а на...

Загрузка фотографии
Есть форма, в которой присутствует поле типа Rich Text Lite, в нем хранится фотография. Нужно с помощью агента создавать вот такой новый...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru