Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Prosty skrypt "aktualnosci"
renderman
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.06.2008
Skąd: Poznań

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


Witam,

Natknąłem się już bardzo dawno temu na całkiem sympatyczny skrypt który pozwolił mi wyświetlac obrazki w galeri czytając w nim kolejno obrazki według rozszerzeńi ukladajac je w jednej kolumnie.

Projektując swoją stronę staram się puki co ograniczac do minimum koniecznosc łaczenia z bazą danych... wiec wpadłem by tworząc skrypt "aktualnosci" na stronie posłużyc sie w zasadzie takim samym rozwiązaniem... problem polega tylko na tym że gdy przekształcam sobie ten skrypt mam problem z funkcją.....

  1. <?php
  2. echo '<a target="_blank" href="aktualnosci/'.$plik.'"><img src="aktualnosci/mini/' . $plik . '" class="galeria" /></a>';
  3. ?>


chciałbym to zamienic na

  1. echo <div id="mojStyl"><?php include( $file ); ?></div>


już pogubiłem się jak to zapisac gdyż w jednym miejscu chce przywolac 2x kod php.
pierwszy raz jako głowny a drugi raz jako wstawiony w kod html....

  1. <?php
  2.  
  3. $rozszerzenia = Array("jpg", "png", "gif");
  4. $i = 0;
  5. $odczytaj = opendir('aktualnosci');
  6. while ( $plik = readdir( $odczytaj ) )
  7. {
  8.  
  9. $sciezka = pathinfo( 'aktualnosci/' . $plik );
  10. if (in_array( $sciezka['extension'], $rozszerzenia ) )
  11. {
  12.  
  13. echo '<a target="_blank" href="aktualnosci/'.$plik.'"><img src="aktualnosci/mini/' . $plik . '" class="galeria" /></a>';
  14. $i++;
  15.  if ($i % 1 == 0) echo '<br />';
  16. }
  17.  
  18. }
  19. closedir($odczytaj);
  20. ?>


Nie wiem czy do końca ten skrypt jest poprawny bo chciałbym odczytywac np pliki o rozszerzeniu nie php a np .txt ale to zmieniam w array...

Może znacie jakieś inne lepsze rozwiązanie na stworzenie skryptu który zwyczajnie będzie czytał kolejne pliki z jednego katalogu i dołaczał je od np najstarszego do najnowszego datą , albo chociaz nazwą 0001,, 0002 ,, 0003 chociaż lepiej bylo by to zrobic uwzględniajac date modyfikacji... ale tak by nie dało się czegoś zaincludowac z zewnątrz...

Ten post edytował renderman 9.06.2008, 17:00:24
Go to the top of the page
+Quote Post
v1t4n
post
Post #2





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 19.02.2005
Skąd: Dębica

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


Cos takiego (nie gwarantuje ze bedzie to dzialac - podalem jak podmienic jedno echo na drugie):

  1. <?php
  2. $rozszerzenia = Array("jpg", "png", "gif");
  3. $i = 0;
  4. $odczytaj = opendir('aktualnosci');
  5. while ( $plik = readdir( $odczytaj ) )
  6. {
  7.  
  8. $sciezka = pathinfo( 'aktualnosci/' . $plik );
  9. if (in_array( $sciezka['extension'], $rozszerzenia ) )
  10. {
  11.  
  12. echo '<div id="mojStyl">';
  13. include( $file );
  14. echo '</div>';
  15. $i++;
  16.  if ($i % 1 == 0) echo '<br />';
  17. }
  18.  
  19. }
  20. closedir($odczytaj);
  21. ?>
Go to the top of the page
+Quote Post
renderman
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.06.2008
Skąd: Poznań

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


Wpadłem na to dosłownie chwile przed Twoim postem.....
  1. <?php
  2.  
  3. $rozszerzenia = Array("txt");
  4. $i = 0;
  5. $z = opendir('aktualnosci');
  6. while ( $file = readdir( $z ) )
  7. {
  8.  
  9. $parts = pathinfo( 'aktualnosci/' . $file );
  10. if (in_array( $parts['extension'], $rozszerzenia ) )
  11. {
  12.  
  13.  
  14. echo '<div id="mojStyl">';
  15.  
  16. include ('aktualnosci/ . $file');
  17. echo '</div>';
  18.  
  19. $i++;
  20.  if ($i % 5 == 0) echo '<br />';
  21. }
  22.  
  23. }
  24. closedir($z);
  25. ?>


Kod przechodzi .. ładuje sie poprawnie cała funkcja ale w rezultacie otrzymuje tylko

  1. <div id="mojStyl"></div><div id="mojStyl"></div></p>


gdy zamiast include wpisze echo aktualnosci $ file dostaje listing plików

Kod
plik1.txt
plik2.txt


wiec wnioskuje ze cały skrpyt dziala poprawnie do momentu include... .. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Nie mogłem dopisac poprawnie do poprzedniego postu wiec napisze to jeszcze raz


  1. <?php
  2. echo 'aktualnosci/' . $file;
  3. ?>

zwraca mi

  1. <div id="mojStyl">aktualnosci/1.txt</div><div id="mojStyl">aktualnosci/2.txt</div></p>


więc poprawnie...
teraz tylko jak zaincludowac kazdy plik


Dodane po 5 min (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ..

Czeski bład (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) prawdopodpbnie niepotrzebnie wczesniej zamykałem przy include wszystko w nawiasy teraz dziala ...

Działający kod wygląda następująco ....

  1. <?php
  2.  
  3. $rozszerzenia = Array("txt");
  4. $i = 0;
  5. $z = opendir('aktualnosci');
  6. while ( $file = readdir( $z ) )
  7. {
  8.  
  9. $parts = pathinfo( 'aktualnosci/' . $file );
  10. if (in_array( $parts['extension'], $rozszerzenia ) )
  11. {
  12.  
  13.  
  14. echo '<div id="mojStyl">';
  15.  
  16. /* include ('aktualnosci/ . $file'); */
  17. include 'aktualnosci/' . $file;
  18.  
  19. echo '</div>';
  20.  
  21. $i++;
  22.  if ($i % 5 == 0) echo '<br />';
  23. }
  24.  
  25. }
  26. closedir($z);
  27. ?>


tak celem wyjaśnienia.. jaką funkcje ma ". " tóż przed $file ? czy to jest kropka rozszerzenia...? bo nie do konca rozumiem sens jej istnienia..

Generalnie bylo by wszystko ok... Z tym że pliki tekstowe ładują się w kolejnosci 0001.txt 0002.txt 0003.txt itd...
Czyli wyświetlając to wszystko w postaci przetworzonego skryptu dostaje
.1
.2
.3

Teoretycznie mogłbym nazywac każdego posta od konca zaczynajac np 10000000.txt 09999999.txt 09999998.txt ale może dało by się to inaczej jakoś zrobic ? jakiś pomysł ? Albo uwzględniajac date albo odwracajac kolejnosc ale zupełnie nie mam pojęcia jak to odwrócic...
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 07:07