Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Galeria zdjęć
Forum PHP.pl > Forum > Przedszkole
Gość_Janek
Nie wiem czy uda mi sie wytłumaczyć moj problem bo to dosc skomplikowane jak sie nie zobaczy calego skryptu, ale sprobuje:

Wiec w katalogu galerii są katalogi thumbs i big ktore zawieraja odpowiednio miniaturki i powiększenia. Kazdy plik w kazdym z katalogów ma jako nazwe numerek od 1 wzwyż - numerki w obu katalogach odpowiadają sobie czyli w katalogu miniaturek 1.jpg odpowiada 1.jpg z katalogu big. Moj skrypt polega na przesylaniu zdjęć z komputera na serwer, po przeslaniu zdjecia nazwa tego co sie wyslalo zmienia sie na kolejny numerek, czyli naprzyklad jak ostatnie zdjecie bylo 22.jpg, to te co sie przyslalo ma 23.jpg itd.
Z wysylaniem duzych zdjęć nie ma problemu, natomiast sprawa komplikuje sie z miniaturkami - najpierw na stronie do formularza wpisuje sie zdjecie, ktore chce sie przeslac, a nastepnie wybiera się przyciskami radio numer duzego zdjecia do ktorego chce sie dolaczyc miniaturke, na koncu skrypt sprawdza czy duze zdjecie ktore sie wyslalo posiada juz miniaturke, jesli posiada - wyswietla blad. Narazie wszystko jest ok, niby mogloby tak zostac, ale po co wyswietlac na formularzu wszystkie numery duzych zdjec, skoro mozna by tylko tych ktore nie maja miniatur?
No i wlasnie nie wiem jak to zrobic, zeby sprawdzic oba katalogi, i jesli ktorys ze zdjec w katalogu big nie ma swojego odpowiednika w miniaturkach, to wyswietlic go na formularzu. Probowalem robić cos w tym stylu:

  1. <?php
  2.  for($i=0; $i<count(images[$i]); $i++){
  3. if($images[$i] != $images_thumbs[$i]){
  4. $do_wyswietlenia[] = $images[$i];
  5. }
  6.  }
  7.  
  8. ?>


Ale to jest troche bezsensu bo przeciez jesli naprzyklad brakuje miniaturki 6.jpg to wtedy te wyrazenie if zawsze bedzie mialo TRUE i do tablicy dopisza sie wszystkie zdjecia...
Nie wiem czy zrozumiecie w ogole o co mi chodzi, ale mam nadzieje ze tak biggrin.gif biggrin.gif biggrin.gif

Pozdrawiam smile.gif
Kuziu
Jeśli masz zainstalowaną bibliotekę GD to nie lepiej by było zostawić robienie miniaturek php'owi ?
Wrzucałbyś tylko duże zdjęcie a php robił by z tego miniaturę i ją zapisywał.

Po 2 jeśli masz Bazę danych to najlepiej by było zrobić tabelę do galerii w której trzymałbyś dane obrazków ... wtedy przeszukanie czy też sprawdzenie które zdjęcie istnieje .. kto je dodał ... kiedy itp. było by bardzo proste ...

Jak zrobić miniaturki za pomocą biblioteki GD jest opisane Tutaj
Gość_Janek
Na serwerze na którym mam strone nie ma bazy danych, wiec mozna tylko operowac na plikach, a z biblioteka pokombinuje. THX
Janek111
Tak jak napisales uzylem biblioteki GD i wszystko dziala, tylko ze jest taki dziwny problem, ze po utworzeniu miniaturki, przegladarka wyswietla ta miniaturke co utworzylem. Ale czesto pojawiaja sie bledy, ze wyswietla sie zupelnie inne zdjecie, i zupelnie nie wiem o co chodzi...

  1. <?php
  2.  
  3. if(!isset($co)){
  4.  
  5. // tutaj funkcja przesylajaca plik itd.
  6.  
  7. if(!($dp = opendir(&#092;"../zdjecia/$dzial/big\"))){
  8.           die(&#092;"<p>BŁĄD!</p>\");
  9.           }
  10.   while($file = readdir($dp)) {
  11.   $ciag = &#092;".jpg$|.png$|.gif$\";
  12.   $rozszerzenie = ereg($ciag, $file);
  13.           if($file != '.' && $file != '..' && $file != 'Thumbs.db' && $rozszerzenie) {
  14.         $images[]= (int) $file;
  15.         }
  16.      }
  17.         closedir($dp);
  18.  
  19. if(!file_exists(&#092;"../zdjecia/$dzial/big/1.jpg\")){
  20.         $pliczek = 1;
  21.         }
  22.         else{
  23.         $pliczek = count($images);
  24.         }
  25.  rename($lokalizacja, $DOCUMENT_ROOT.&#092;"strona1/zdjecia/$dzial/big/\".$pliczek.\".jpg\");
  26.   echo &#092;"Plik \". $_FILES['plikuzytkownika']['name'].\" został pomy&para;lnie wysłany<br><br>\";
  27.   echo &#092;"<p>OTO ON: <br><br><br>\";
  28.  resizeImage(&#092;"../zdjecia/$dzial/big/\".$pliczek.'.jpg', 150, 150, \"../zdjecia/$dzial/thumbs/\".$pliczek.'.jpg');
  29.  echo &#092;"<br><a href=\"$PHP_SELF?dzial=$dzial&co=usun&pliczek=$pliczek\">USUŃ TO ZDJCIE</a></p>\";
  30.  echo &#092;"<p><a href=\"wyslij_typ.php?dzial=$dzial&wybierz=$wybierz&typ=$typ&wybierz_typ=$wybierz_typ\">POWRÓT</a></p>\";
  31.  }else{
  32.  if(isset($co)){
  33.  unlink($DOCUMENT_ROOT.&#092;"strona1/zdjecia/$dzial/big/\".$pliczek.\".jpg\");
  34.   unlink($DOCUMENT_ROOT.&#092;"strona1/zdjecia/$dzial/thumbs/\".$pliczek.\".jpg\");
  35.     echo &#092;"<p><a href=\"wyslij_typ.php?dzial=$dzial\">POWRÓT</a></p>\";
  36.     }
  37. }
  38.  
  39. ?>




A może inaczej, bo zauwazylem ze sporo błedow jest z tym wyswietlaniem zdjecia w przegladarce.
Czy mogłby mi ktoś powiedziec, jak pozbyc sie w tej funkcji wyswietlania w przegladarce miniaturki zaraz po utworzeniu?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.