Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Skrypt wyświetlający pliki, Skryp wyświetlający pliki
spokoland
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2006

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


Witam. mam se taki skrypt wyświetlający pliki z danego katalogu.

  1. <?php
  2.  
  3.  $katalog = dir('a'); // bieżący katalog
  4.  
  5. while($plik = $katalog->read()) {
  6.  
  7. @ include('a/'.$plik);
  8.  
  9.  
  10. }
  11.  
  12. $katalog->close();
  13.  
  14. ?>


Problem w tym że wyświetla je wg. daty utworzenia, co zrobić żeby wyświetlał odwrotnie... tzn. najnowszy u góry?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dzial Gotowe Skrypty sluzy do umieszczania "skryptów" a nie 4 linijek kodu. Chodzi głownie o skrypty czyjegoś autorstwa, które już dzialają. Przenoszę

Co do pytania. Było. Poszukaj...
Musisz zapisac se do tablicy i ją posortować (wyswietlic w kolejnosci odwrotnej w tym przypadku)


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2006

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


A w jaki sposób to zapisać do tablicy? probowałem array($plik); i sie cenzura wszystko.questionmark.gif
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


1. Po co wulgaryzmy, język polski jest na tyle bogaty, że mozna się wysłowić bez nich.
2. A jak zapisujesz do tablicy? Pokaż kod, bo mam wrażenie, że nawet skłądni nie znasz tongue.gif W razie wątpliwości zajrzyj tutaj: Tablice (array)
Go to the top of the page
+Quote Post
spokoland
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2006

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


Dopiero się ucze php-ka tongue.gif... A tablic to praktycznie wogóle nie umie. Może mi ktoś przedstawić taki skrypt tworzący tablicę z tymi plikami?

Pozdro

Ten post edytował spokoland 4.02.2006, 17:21:24
Go to the top of the page
+Quote Post
crash
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


U mnie dir pobiera pliki w kolejności alfabetyczniej. Jeśli chcesz to wrzucić w tablicę w kolejności wg. czasu modyfikacji (czy innego) zaczynając od najnowszego to:
  1. <?php
  2. $dir = './a/';
  3.  
  4. $dh = dir( $dir );
  5. $fs = array();
  6.  
  7. while( ( $file = $dh->read() ) !== false )
  8. {
  9.  if( substr( $file, 0, 1 ) != '.' )
  10.  {
  11. $fs[ $file ] = filemtime( $dir . $file );
  12.  }
  13. }
  14.  
  15. arsort( $fs );
  16.  
  17. $fs = array_keys( $fs );
  18.  
  19. print_r( $fs );
  20. ?>


--------------------
Go to the top of the page
+Quote Post
spokoland
post
Post #7





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2006

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


wrzuciłem taki skrypt i jak otworzę ten plik to w przeglądarce mi wywala tylko takie coś:
Array ( [0] => 1.new [1] => 4.new [2] => 5.new )

Ten post edytował spokoland 4.02.2006, 22:23:57
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




i... ?
Sprawdź se w manualu co robi funkcja print_r a bedziesz wiedzial czemu tak sie dzieje...
Jak chcesz sie dobrac do nazw plikow, to przeleć tablicę (ale to brzmi winksmiley.jpg ) $fs foreachem (tez se sprawdź w manualu jak)


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
snipe
post
Post #9





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

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


zamiast print_r( $fs ); poprostu dajesz to co chciales: @ include('a/'.$plik);


--------------------
Go to the top of the page
+Quote Post
spokoland
post
Post #10





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2006

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


Też nic... nie ma ktos całego gotowego skryptu?
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Też nic..
Domyslam sie, ze dotyczy to wypowiedzi snipea, ktora bez obrazy byla bzdurna.

Skorzystaj z mojej podpowiedzi, bo widzę ze nie raczyles...


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
spokoland
post
Post #12





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2006

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


To zamiast tego print_r co tam wpisać?
Go to the top of the page
+Quote Post
strife
post
Post #13





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(spokoland @ 2006-02-05 00:13:39)
To zamiast tego print_r co tam wpisać?

Cytat(nospor)
przeleć tablicę (ale to brzmi  ) $fs foreachem (tez se sprawdź w manualu jak)

Dla ułatwienia dam Ci klikalny link foreach. Mam nadzieję, że sam do tego dojdziesz bez podawania Ci gotowego kodu smile.gif


--------------------
Go to the top of the page
+Quote Post
snipe
post
Post #14





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

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


nospor przyznaje sie bez bicia, ze nie spojrzalem dokladnie w kod worriedsmiley.gif


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@spokoland widzę że nie wyrażasz totalnej ochoty by samemu coś napisać...
rozumiem, że jesteś początkujący, ale przy braku jakiejkolwiek inicjatywy z Twojej strony, nigdy się niczego nie nauczysz. Temat zamykam, do czasu aż dostanę od Ciebie PW z kawałkiem kodu, w którym wykorzystujesz foreach, by dobrać się do elementów tablicy, które nawiasem mówiąc są nazwami plików.

edit: otwieram, dostałem kod winksmiley.jpg
  1. <?php
  2. foreach ($fs as $file) { include('a/'.$file) ;}
  3. ?>


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
spokoland
post
Post #16





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2006

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


Czyli wyglądało by to tak :-):

  1. <?php
  2. $dir = './a/';
  3.  
  4. $dh = dir( $dir );
  5. $fs = array();
  6.  
  7. while( ( $file = $dh->read() ) !== false )
  8. {
  9. if( substr( $file, 0, 1 ) != '.')
  10. {
  11. $fs[ $file ] = filemtime( $dir . $file );
  12. }
  13. }
  14.  
  15. arsort( $fs );
  16.  
  17. $fs = array_keys( $fs );
  18.  
  19. foreach ($fs as $file) { include('a/'.$file) ;}
  20. ?>


Próbowałem jeszcze:
  1. <?php
  2. {if (!isset($file) {echo "Brak plików";} else { include('a/'.$file);} }
  3. ?>
ale błąd wywala tongue.gif
Go to the top of the page
+Quote Post
nospor
post
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zmienna $file zawsze jest ustawiona w petli, więc sprawdzanie jej warunkiem isset jest bez sensu winksmiley.jpg Moze miales na mysli file_exists() ?

A jaki blad ci wywala?


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
spokoland
post
Post #18





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2006

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


  1. <?php
  2. $dir = './a/';
  3.  
  4. $dh = dir( $dir );
  5. $fs = array();
  6.  
  7. while( ( $file = $dh->read() ) !== false )
  8. {
  9.  if( substr( $file, 0, 1 ) != '.')
  10.  {
  11. $fs[ $file ] = filemtime( $dir . $file );
  12.  }
  13. }
  14.  
  15. arsort( $fs );
  16.  
  17. $fs = array_keys( $fs );
  18.  
  19.  foreach ($fs as $file) {if (!isset($file)) {echo "Brak plików";} else { include('a/'.$file);}; }
  20. ?>


Jak są pliki to wporzo a jak nie ma to jest czysta strona ;-)
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #19





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


  1. <?php
  2.  
  3. if (!count($fs)){
  4. echo "Brak plików";
  5. } 
  6. else{ 
  7. foreach ($fs as $file) {
  8. include('a/'.$file);
  9. }
  10. }
  11.  
  12. ?>

proponuje zaczac formatować kod smile.gif
Go to the top of the page
+Quote Post
Wave
post
Post #20





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

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


  1. <?php
  2. if ( $pliki = glob('a/*.*') ) 
  3. {
  4.  foreach ( $pliki as $plik )
  5.  {
  6. include($plik);
  7.  }
  8. }
  9. else echo('plikow brak');
  10. ?>
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 - 15:21