![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 238 Pomógł: 1 Dołączył: 27.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Zadaniem scryptu jest dodawanie (kopiowanie plików i zapisanie info o tym do bazy) zdjęć, które dodajemy poprzez formularz:
[php:1:20c705dc9c] <? <input type=file name='zdj1'> <input type=file name='zdj2'> <input type=file name='zdj3'> <input type=hidden name='tabela'> ?> [/php:1:20c705dc9c] Funkcja plik() kopiuje zdjęcia do odpowiedniej lokalizacji (funkcje bazy korzystają z osobnej klasy). [php:1:20c705dc9c] <? function plik () { global $nazwa, $_FILES, $_POST, $id_artykulu; for ($i=1, $znak=a; $i<=3, $znak<=3; $i++, $znak++) { $zdjecie = 'zdj'.$i; if (!empty ($_FILES[$zdjecie])) { $zdjecie = $_FILES[$zdjecie]['tmp_name']; $query = 'select max(id) from "'.$_POST['co'].'"'; $db ->query($query); $max= $db-> fetch_row(); $max[0]=$max[0]+1; $nazwa.$i=$max[0]$znak.'.jpg'; if (!$max_szerokosc) $max_szerokosc = 160; if (!$max_wysokosc) $max_wysokosc = 220; $rozmiar = GetImageSize($zdjecie); $szerokosc = $rozmiar[0]; $wysokosc = $rozmiar[1]; $wspolczynnik_x = $max_szerokosc / $szerokosc; $wspolczynnik_y = $max_wysokosc / $wysokosc; if ( ($szerokosc <= $max_szerokosc) && ($wysokosc <= $max_wysokosc) ) { $nowa_szerokosc = $szerokosc; $nowa_wysokosc = $wysokosc; } else if (($wspolczynnik_x * $wysokosc) < $max_wysokosc) { $nowa_wysokosc = ceil($wspolczynnik_x * $wysokosc); $nowa_szerokosc = $max_szerokosc; } else { $nowa_szerokosc = ceil($wspolczynnik_y * $szerokosc); $nowa_wysokosc = $max_wysokosc; } $zrd = ImageCreateFromJpeg($zdjecie); $prz = ImageCreate($nowa_szerokosc,$nowa_wysokosc); ImageCopyResized($prz, $zrd, 0, 0, 0, 0, $nowa_szerokosc,$nowa_wysokosc,$szerokosc,$wysokosc); $lokalizacja = '../'.$_POST['co'].'/'.$nazwa; if(!ImageJpeg($prz,$lokalizacja)) { echo'Problem: Plik nie może być skopiowany do katalogu'; exit; } ImageDestroy($zrd); ImageDestroy($prz); } else { echo 'nie ma zdjecie'; } } } ?> [/php:1:20c705dc9c] Natomiast funkcja dodaj() dodaje wpis do bazy ZDJECIA, a dokładnie do pól zdj1, zdj2, zdj3 wpisuje nazwy skopiowanych plików [php:1:20c705dc9c] <? function dodaj() { global $nazwa, $_POST; $zdjecia = 'insert into zdjecia (co, zdj1, zdj2, zdj3) values ($nazwa1, $nazwa2, $nazwa3)'; $wynik = $db ->query($zdjecia); if ($wynik) echo 'Zdjęcia zostały dodane'; ?> [/php:1:20c705dc9c] i problem polega na tym, że funkcja plik nie zwraca wartości $nazwa1, $nazwa2, $nazwa3 żeby zapisaćje w bazie, tylko tą ostatnią. Ma ktoś pomysł jak to poprawić? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 23:20 |