Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> readdir?
neo.priv
post 9.09.2005, 13:30:23
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 27.02.2004

Ostrzeżenie: (10%)
X----


Witam,
chce wyswietlic z okreslinego katalogu konkretny plik.
Robilem to przez opendir i readdir ale tu wyswietla mi cala zawartosc katalogu.

Sprobowalem poprzez fread i nic, wyswietlil mi zawartosc pliku.

Ja chcialbym zapytać w jaki sposob wysietlic nozwe i rozszerzenie konkretnego pliku?

1.
  1. <?php
  2.  
  3. $dir = '../pliki/';
  4. $start = opendir($dir);
  5. while ($file = readdir($start)){
  6. if($file!="." && $file!=".." && $file!="sys" && $file!="cgi-bin" && !is_dir($file)) {
  7.  
  8. echo "<a href="?file=$file&usun=usun">$file</a><br />";
  9. };
  10. };
  11.  
  12. ?>


2.
  1. <?php
  2.  
  3. [php]
  4. $dir = '../pliki/'$zdjeceiedytuj;
  5. $start = opendir($dir);
  6. while ($file = readdir($start)){
  7. if($file!="." && $file!=".." && $file!="sys" && $file!="cgi-bin" && !is_dir($file)) {
  8.  
  9. echo "<a href="?file=$file&usun=usun">$file</a><br />";
  10. };
  11. };
  12.  
  13. ?>

Kod
Warning: opendir(../pliki/1111.rtf): failed to open dir: To nie jest katalog in /home/httpd/vmhosts/test.php on line 265

Warning: readdir(): supplied argument is not a valid Directory resource in /home/httpd/vmhosts/test.php on line 266


--------------------
Warsztst: Apache 1.3.31 | PHP 4.3.7RC1 | MySQL 4.0.18
Na warsztacie: RU llllllllll 98%
Go to the top of the page
+Quote Post
dr_bonzo
post 9.09.2005, 13:53:22
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


is_file()
is_dir()
path_info()

Co chcesz w ogole osiagnac? Zawartosc pliku czy rozszerzenie?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
zbig13
post 9.09.2005, 13:58:20
Post #3





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

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


Pisał, że chce uzyskać nazwe i rozszerzenie. A co do punktu 2, to co przekazujesz do zmiennej $zdjeceiedytuj ?
Go to the top of the page
+Quote Post
nospor
post 9.09.2005, 14:00:45
Post #4





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




jak to co? 1111.rtf - widac wyraźnie jak na dloni.
i ciekawe czemu nie dziala? tongue.gif

@neo.priv masz zapodac katalog a nie plik do funkcji opendir. pozatym to co chcesz osiagnac juz bylo wiele razy na forum. poszukaj


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

"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
neo.priv
post 9.09.2005, 21:20:21
Post #5





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 27.02.2004

Ostrzeżenie: (10%)
X----


Poradzilem sobie z wypisaniem nazwy pliku, tzn dodalem jeden warunek w petli while:
  1. <?php
  2.  
  3. while ($file = readdir($start)) {
  4. {
  5. if($file!="." && $file!=".." && $file!="sys" && $file!="cgi-bin" && !is_dir($file) && $file = $zdjecieedytuj) {
  6.  
  7. echo "<a href="?file=$file&usun=usun">$file</a><br />";
  8. };
  9.  
  10. };
  11.  
  12. };
  13.  
  14. ?>


JEdnak teraz petla wywala mi cala zawartosc folderu pod wymagana przezemnie nazwa pliku, innymi slowy pliki sie dubluja.

Chciałbym wyswietlic tylko jeden plik.
Probowalem uzyc petli for i tam ograniczyc liczbe wySwietlanych plikow lecz nie za bardzo mi to wychodzi, mam komunikat:
Kod
Parse error: parse error, unexpected T_INC, expecting ';'


--------------------
Warsztst: Apache 1.3.31 | PHP 4.3.7RC1 | MySQL 4.0.18
Na warsztacie: RU llllllllll 98%
Go to the top of the page
+Quote Post
nospor
post 12.09.2005, 08:48:51
Post #6





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




  1. <?php
  2. ... $file = $zdjecieedytuj
  3. ?>
ten warunek jest zawsze spelniony bo to nie jest porownanie, a przypisanie.
powinno byc
  1. <?php
  2. ... $file == $zdjecieedytuj
  3. ?>


a pozatym jesli chcesz tylko ten plik wyswietlic to poco leciec po calym katalogu? uzyj funkcji file_exists() i po sprawie


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

"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
splatch
post 12.09.2005, 15:14:20
Post #7





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

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


Hm... sprawdz:
$start = opendir(realpath('../pliki/'));
while( $file = readdir($start)) { ... }


--------------------
Łukasz Dywicki
Independent Java and open source software consultant.
Blog - Java, OSGi, integracja oprogramowania..
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 Wersja Lo-Fi Aktualny czas: 26.06.2025 - 20:08