Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Pomysł na galerię i problem
bobek1984
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 1.08.2008
Skąd: Terespol

Ostrzeżenie: (0%)
-----


Witam. Od razu mówię, że z PHP zaczynam. Szukałem na tym forum ale nie znalazłem tego zbytnio co chciałem. (może źle szukałem).
A teraz do rzeczy.
Chodzi mi o pomoc w napisaniu skryptu galerii. Mój pomysł wygląda tak:
Mamy katalog "galeria". W tym katalogu są katalogi z fotkami oznaczone jako "1", "2", "3", itp; oraz pliki tekstowe "1.txt", "2.txt", "3.txt" (w tych plikach jest zapisana nazwa galerii) oraz pliki graficzne "1.gif", "2.gif", "3.gif".
Opis działania wygląda tak, że gdy wejdziemy w link, skrypt czyta ile jest folderów ze zdjęciami, wstawia odpowiedni obraz i tekst opisujący galerię. (nie wiem czy to zrozumiałe - sorry).

I teraz mam 1 problem (jak narazie). Jak przeczytać katalog "galeria" i wyświetlić nazwy tylko katalogów; żeby nie wyświetlało nazw plików *.txt oraz obrazków *.gif.

Tzn. przeczytać wiem jak, ale nie wiem jak zrobić żeby wyświetliło tylko nazwy katalogów, bez reszty plików

Dzięki z góry
Go to the top of the page
+Quote Post
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




moja pierwsza sugestia - porzuć pliki przejdź na bazę danych. zajedziesz się...


--------------------
Go to the top of the page
+Quote Post
jareeny
post
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

Ostrzeżenie: (0%)
-----


No jak chce pliki to niech ma pliki. Wrzuć readdir() w pętle i potem instrukcją warunkową sprawdzaj czy to katalog za pomocą is_dir()

Ten post edytował jareeny 26.01.2009, 21:51:14


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
bobek1984
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 1.08.2008
Skąd: Terespol

Ostrzeżenie: (0%)
-----


Jeżeli chodzi o bazy to chętnie tylko, że ja tego nie czaje ni w ząb ;/ a ztym co napisał jareeny to właśnie czytam o co chodzi ;D:D

Zrobiłem coś takiego:
<?php
if ($galerie = opendir('galeria')) {
while (false !== ($file = readdir($galerie))) {
if (is_dir($file)) {
echo "$file\n<br>";
}
}
closedir($galerie);
}
?>

ale pokazało mi tylko katalogi: "." oraz ".."

Ten post edytował bobek1984 26.01.2009, 22:22:00
Go to the top of the page
+Quote Post
piotrooo89
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Cytat(bobek1984 @ 26.01.2009, 22:00:15 ) *
Jeżeli chodzi o bazy to chętnie tylko, że ja tego nie czaje ni w ząb ;/ a ztym co napisał jareeny to właśnie czytam o co chodzi ;D:D


jeśli chcesz się uczyć jeździć na rowerze lub autem co wybierasz? i tym pojedziesz i tym tylko na rowerze bardziej się zmęczysz natomiast autem musisz się więcej uczyć ale później masz komfort.

tak samo jest z baza opartą na plikach (nasz przykładowy rower) i bazą danych np w MySQL (nasze auto). jeśli zaczynasz od podstaw nie lepiej od razu uczyć się czegoś lepszego?


--------------------
Go to the top of the page
+Quote Post
bobek1984
post
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 1.08.2008
Skąd: Terespol

Ostrzeżenie: (0%)
-----


Próbowałem, ale to jest dla mnie tak sądzę zbyt skomplikowane. Poprostu ja tego nie pojmuję. Albo nie wiem od czego zacząć poprostu ;/;/

Jeżeli chodzi o tą galerię to jak bym chciał ją zrobić w MYSQL możesz mi coś polecić żebym miał chociaż jakiś punkt odniesienia :/

Ten post edytował bobek1984 26.01.2009, 22:38:32
Go to the top of the page
+Quote Post
Lejto
post
Post #7





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


znajdz sobie jakiś kurs w necie jak nie masz książki, proste zapytania, oswój sie z phpmyadminem, krok po kroku


--------------------
Go to the top of the page
+Quote Post
bobek1984
post
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 1.08.2008
Skąd: Terespol

Ostrzeżenie: (0%)
-----


phpmyadmina znam, jeżeli chodzi o kursy to są ale raczej dla ludzi którzy już trochę w tym siedzą ;/

Wiecie co, ja chyba jednak wole uczyć się jeździć na rowerze narazie. Potem zrobie prawko i będę śmigał autem:P:P:P.

To nie jest duża galeria więc zostanę jednak przy samym php.

Tylko powiedzcie mi jak ja mam przeczytać ten katalog, żeby mi wyświetlało tylko katalogi w nim.
Bo ja już nie mogę normalnie ;/;/

Zrobiłem coś takiego:

<?php
foreach(glob("galeria/*" , GLOB_ONLYDIR) as $galerie)
{
$gal = substr ($galerie,8);
echo $gal;
echo "\n\n\n\n\n\n\n";
}
?>

Działa tak jak chciałem. Ale teraz pojawia się problem. Jak to zrobić żeby w jednym wierszu było do 5 numerków.
Tzn jak w katalogu "galeria" mam katalogi od "1" do "10", to żeby po odpaleniu skryptu miałbym coś takiego:
1 2 3 4 5
6 7 8 9 10
A nie w jednym rzędzie?questionmark.gif?

I co wie ktoś jak to zrobić questionmark.gif

Panowie naprawdę proszę o pomoc. Szukam tego 2 dzień już, znalazłem podobne (chyba) ale to nie to ;/

Ten post edytował bobek1984 26.01.2009, 23:54:11
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Tylko powiedzcie mi jak ja mam przeczytać ten katalog, żeby mi wyświetlało tylko katalogi w nim.
Bo ja już nie mogę normalnie ;/;/

Sprawdź ścieżkę uzyskaną w pętli przez is_dir" title="Zobacz w manualu PHP" target="_manual.

Cytat
I co wie ktoś jak to zrobić

http://forum.php.pl/index.php?showtopic=112083


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bobek1984
post
Post #10





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 1.08.2008
Skąd: Terespol

Ostrzeżenie: (0%)
-----


Nie czaję tego pseudokodu ;/;/ sad.gif

Tzn już troche kumam, ale jak zapisać tą resztę z dzielenia równą 0 ;/ tego nie moge pojąć

Wiem że coś takiego:

$enter = $gal % 5;

podaje mi resztę z dzielenia przez 5. ok wszystko ładnie i pięknie, ale jak to zastosować.

Chodzi mi o to, jak to połączyć z w/w funkcją foreach, żeby przy $enter = 0 dawało mi <br>

Proszę o pomoc
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie możesz dać zwykłego if" title="Zobacz w manualu PHP" target="_manual z wartością reszty jako warunkiem?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bobek1984
post
Post #12





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 1.08.2008
Skąd: Terespol

Ostrzeżenie: (0%)
-----


Już sobie poradziłem. Galeria śmiga a wygląda tak:
  1. <?
  2. if ($_GET['gal']==false)
  3. {
  4. echo "<table width='100%' border='0' cellspacing='0' cellpadding='0' align='center'><tr>";
  5. $lista = array();
  6. foreach(glob("galeria/*", GLOB_ONLYDIR) as $folder)
  7. {
  8.    $galeria = array_pop(explode('/', $folder));
  9.    $lista[] = $galeria;
  10. }
  11. $x = 4;
  12. $i = 0;
  13. foreach ($lista as $galeria)
  14. {
  15.    print '<td align="center"><a href="index.php?id=galeria&gal='.$galeria.'" ><img src="galeria/'.$galeria.'.gif" border="0"></a><br>';
  16. $fp = fopen('galeria/'.$galeria.'.txt', 'r');  
  17. $dane = fread($fp, filesize('galeria/'.$galeria.'.txt'));
  18. echo ''.$dane.'</td>';
  19.    if ((++$i) == $x)
  20.    {
  21.        $i = 0;
  22.        print '</tr><tr>';
  23.    }
  24. }
  25. echo '</table>';
  26. }
  27. else
  28. {
  29. echo "<table width='100%' border='0' cellspacing='0' cellpadding='0' align='center'><tr>";
  30. $lista = array();
  31.  
  32. foreach(glob('galeria/'.$_GET['gal'].'/*') as $folder)
  33. {
  34.    $galeria = array_pop(explode('/', $folder));
  35.    $lista[] = $galeria;
  36. }
  37. $x = 4;
  38. $i = 0;
  39.  
  40. foreach ($lista as $galeria)
  41. {
  42.  
  43.    print '<td align="center"><img src="galeria/'.$_GET['gal'].'/'.$galeria.'"></td>';
  44.  
  45.    if ((++$i) == $x)
  46.    {
  47.        $i = 0;
  48.        print '</tr><tr><td>&nbsp;</td></tr><tr>';
  49.    }
  50. }
  51. echo '</table>';
  52. }
  53. ?>


Krytyczne uwagi mile widziane.

Jedyny minus to jest taki, że te pliki *.gif i *.txt muszą być bo inaczej wywala błąd. Wywala błąd także w przypadku, gdy plik *.txt jest pusty.

Ale śmiga biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:53