![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Próbuje napisać skrypt dodający zdjęcia do galerii. Uploadowane zdjęcie ma trafiać do 2 miejsc (do 1 w postaci powiedzmy normalnej fotki, w drugie w postaci miniaturki). Napisałem następujący skrypt, ale przy wywoływaniu funkcji pojawia się problem. Pierwsze wywołanie się wykonuje, ale drugie które różni się tylko parametrami obrazu i ścieżką dostępu już nie działa. Skrypt przy testach w przeglądarce nie pokazuje błędów. Proszę o pomoc. Kod <div>
<form enctype="multipart/form-data" action="dodaj.php" method="POST"> <input name="plik" type="file" /> <input type="submit" value="Dodaj" /> </form> </div> <?php $plik_tmp = $_FILES['plik']['tmp_name']; $plik_nazwa = $_FILES['plik']['name']; $plik_rozmiar = $_FILES['plik']['size']; function zmrozdz ($plik_tmp, $szer, $wys) { if(is_uploaded_file($plik_tmp)) { list($width, $height) = getimagesize($plik_tmp); $proporcja = $width / $height; if ($width > $height) { $new_width = $szer; $new_height = $szer / $proporcja; } else { $new_height = $wys; $new_width = $wys / $proporcja; } $obraz_nowy = imagecreatetruecolor($new_width, $new_height); $temp = imagecreatefromjpeg($plik_tmp); imagecopyresampled($obraz_nowy, $temp, 0, 0, 0, 0, $new_width, $new_height, $width, $height); imagejpeg($obraz_nowy, $plik_tmp, 100); imagedestroy($temp); print "<font face='Verdana' color='white'>Zdjęcie zostało dodane</font> "; } return $plik_tmp; } move_uploaded_file(zmrozdz($plik_tmp, 300, 300), "zdjecia/$plik_nazwa"); move_uploaded_file(zmrozdz($plik_tmp, 1024, 1024), "zdjecia/duze/$plik_nazwa"); print "<font face='Verdana' color='white'><a href='index.php'>Powrót do galerii</a></font>"; ?> |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
move_uploaded_file() ma to do siebie, ze przenosi plik z jednego miejsca na drugie.
Rozumiesz na czym polega przeniesc cos? Bierzesz wazon z okna i przenosisz na stol. Wazon juz na oknie nie stoi, wiec nie mozesz go poraz drugi przeniesc z okna na inny stol ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok, kumam.
Dzięki za zauważenie błędu. A czy lepiej to rozwiązać, że zrobić kopie tego pliku i 2 razy przenieść, czy raz przenieść i później zrobić kopie w inne miejsce ze zmianą rozdzielczości, bo nie doszukałem się funkcji w style "copy_uploaded_file" |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
masz kilka opcji to wyboru.
Pozatym popelniasz jeszcze jeden powazny blad, a mianowicie: zmieniasz rozmiar obrazka a nowy obrazek zapisujesz w miejsce starego. Potem znowu zmieniasz rozmiar obrazka, ale operujesz juz na zmienionym wczesniej i znowu zapisujesz w ten sam obrazek. Obrazki o zmienionych rozmiarach musisz zapisywac pod inną nazwą, a najlepiej zapisuj tam, gdzie docelowo mają sie znaleźć. Nie bedziesz musial juz tego potem dodatkowo przenosic ps: oprócz tych zmienionych obrazkow, warto też jest przechowywać oryginał ps2: http://pl.php.net/manual/en/function.copy.php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 04:37 |