Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wgrywanie zdjęć przez ftp
Forum PHP.pl > Forum > PHP
john_doe
Witam wszystkich,

zajmuję się fotografowaniem 4 dyscyplin sportowych w moim mieście. Mam już sporą kolekcję.
Chce to umieścić w sieci w podziale np.

koszykówka
sezon 2009
mecz1
mecz2
.
.
sezon 2010
mecz1
mecz2
.
.
piłka ręczna
sezon 2010
mecz1
mecz2
.
.
itd...

na serwerze chciałbym mieć to właśnie tak pokatalogowane np. wewn katalogu GALERIE
Nie chcę również wgrywać fotek zwykłymi inputami ( za dużo klikania ). Spotkałem się na forum, że ktoś robi to poprzez zwykłe wgrywanie plików na ftp. Czyli tworze sobie np katalogi takie jakie chce ( czy dokladam nowy meczyk ) wgrywam fotki. I co teraz .... trzeba zrobić mini oraz zmniejszyć duże zdjęcie by nie było rozdz. 2048 czyli dwa skalowania.
I potem jak sobie to wyświetlać? proszę o wskazówki
Fifi209
Co do skalowania zdjęć: gd2

Jak wyświetlać? Najpierw pobrać wszystkie pliki z katalogu np. scandir
john_doe
funkcję do skalowania fotek już napisałem.
chodzi bardziej o to, że .... wgrałem zdjęcia na serwer bardzo duże i co teraz. od razu zeskalować cały folder, potem skopiować te pliki i zeskalować na mini? i druga sprawa, że z poziomu panelu chciałbym wybrać który folder chce zeskalować
Fifi209
To podałem Ci funkcję scandir, która zwróci to czego potrzebujesz. smile.gif
john_doe
  1. <?php
  2.  
  3. $path = $_GET['level'] . '/';
  4.  
  5.  
  6. echo $_GET['level'] . '<br /><br />';
  7.  
  8.  
  9.  
  10. function kcReadCatalogue($sciezka)
  11. {
  12. $files = scandir( $sciezka );
  13.  
  14. for( $i = 0 ; $i <= count($files) ; $i++ )
  15. {
  16.  
  17. if( $files[$i] == '..' ) continue;
  18.  
  19. if( $files[$i] == '.' )
  20. {
  21. echo '<a href="index.php?level=../galleries"><-----</a>';
  22. }
  23.  
  24. if(!is_dir($files[$i]))
  25. {
  26. echo '<a href="index.php?level=' . $sciezka . $files[$i] . '">' . $files[$i] . '</a>';
  27. }else echo $files[$i];
  28.  
  29. echo '<br />';
  30. }
  31.  
  32.  
  33. }
  34.  
  35. echo kcReadCatalogue($path);
  36.  
  37. ?>


uruchamiam ten skrypt z linku http://127.0.0.1/panel/index.php?level=../galleries
nie wiem czy się nie zatraciłem, bo co chce uzyskać?skalowanie fotek....
i teraz mam dwa problemy
1. jak zrobić by podczas przechodzenia po katalogach gdy napotkam plik NIE katalog by nie wyświetlał się link ( próbowałem is_dir i zawsze mam linki tak i tak)

2. skalowanie - tutaj by mi chyba w zupełności pomógł pkt 1. bo jeśli napotkam nie katalog to uruchomił bym w tej pętli funkcję skalującą fotkę.

PODAJĘ ROZWIĄZANIE z małym pytankiem do doskonałości smile.gif

skrypt poniżej zwraca zawartość katalogów, gdy to co w katalogu to plik nie wyświetla linku i w moich założeniach pliki to zdjęcia. Gdy napotkam na plik skaluję go, następnie kopiuje i zmieniam nazwę i skaluję ten skopiowany jeszcze raz tym razem na miniaturke.

nie wiem jak zrobić by ta linijka... przenosiła o katalog wyżej ( teraz zrobiłem, że wraca do początku )
  1. if( $files[$i] == '.' )
  2. {
  3. echo '<a href="index.php?level=../galleries"><-----</a>';
  4. }


oto skrypt ( bez funkcji resizującej, która nie jest istotna )
  1. <?php
  2.  
  3. include('fkn.php'); // tutaj dołączam plik z funkcją resizeImg()
  4.  
  5.  
  6. $path = $_GET['level'] . '/';
  7.  
  8.  
  9. echo 'Jesteś w: ' . $_GET['level'] . '<br /><br />';
  10.  
  11.  
  12.  
  13. function readDirectory($path)
  14. {
  15. $files = scandir( $path );
  16.  
  17. for( $i = 0 ; $i <= count($files) ; $i++ )
  18. {
  19.  
  20. if( $files[$i] == '..' ) continue;
  21.  
  22. if( $files[$i] == '.' )
  23. {
  24. echo '<a href="index.php?level=../galleries"><-----</a>';
  25. }
  26.  
  27. if(!is_file($path . $files[$i]))
  28. {
  29. echo '<a href="index.php?level=' . $path . $files[$i] . '">' . $files[$i] . '</a>';
  30. }
  31. else
  32. {
  33. echo $files[$i];
  34.  
  35. $fileExtension = end(explode(".", $files[$i]));
  36.  
  37. resizeImg( $path . $files[$i], 'jpg', 500 );
  38.  
  39. copy( $path . $files[$i], $path . 'mini_' . $files[$i] );
  40.  
  41. resizeImg( $path . 'mini_' . $files[$i], 'jpg', 100 );
  42. }
  43.  
  44. echo '<br />';
  45. }
  46.  
  47.  
  48. }
  49.  
  50. echo readDirectory($path);
  51.  
  52. ?>


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.