Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> readdir(), odrazu mowie zem noob
Kreton
post
Post #1





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

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


Kod
<?php
$dh = opendir ("/Galeria/");
while ($file = readdir ($dh)) {
print "$file\n";
}
closedir ($dh);
?>


skrypt czyta wszytkie pliki w katalogu,
jestem dopiero pocztkowym programista wiec pomozcie:
wyskakuje bład

Kod
Parse error: parse error, unexpected $ in /home3/gi/gim3e/readdir.php on line 7


HELP

Ten post edytował Kreton 14.03.2005, 17:16:27
Go to the top of the page
+Quote Post
strife
post
Post #2





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

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


Witam,

Nie mam pojęcia czemu masz taki błąd - wpisałem u siebie taki kod i wszystko działa bezbłędnie.... Jeśłi jest to linia 7 to wnioskując z twojego kodu błąd pojawia się tu:
  1. <?php
  2.  
  3. closedir ($dh); // ale tu jest wszystko dobrze, zobacz czy nie masz jakiejs literówki np. dwa razy
  4. $$
  5.  
  6. ?>

(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? I jeszcze jedno używaj odpowiedniego bbcode... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam!
Go to the top of the page
+Quote Post
Kreton
post
Post #3





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

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


  1. <?php
  2. Warning: opendir(): Plik /Galeria/ jest w neidozwolonej sciezce! in /home3/gi/gim3e/readdir.php on line 2
  3.  
  4. Warning: opendir(/Galeria/): failed to open dir: Operation not permitted in /home3/gi/gim3e/readdir.php on line 2
  5.  
  6. Warning: readdir(): supplied argument is not a valid Directory resource in /home3/gi/gim3e/readdir.php on line 3
  7.  
  8. Warning: closedir(): supplied argument is not a valid Directory resource in /home3/gi/gim3e/readdir.php on line 6
  9.  
  10. ?>


wprowadzilem poprawki potem, z tym ze to kolejne bledy. Wydaje sie ze scieżka jest nieprawidłowa:

wydaje mi sie ze zamiast
  1. <?php
  2. $dh = opendir (&#092;"/Galeria/\");
  3. ?>

powinno byc
  1. <?php
  2. $dh = opendir (&#092;"/Galeria\");
  3. ?>


niestety teraz czekam na hosta zeby zaaktulaizował, ale chyba apacha zainstaluje na kompie

Ten post edytował Kreton 14.03.2005, 20:10:44
Go to the top of the page
+Quote Post
soldat
post
Post #4





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 14.03.2005
Skąd: W-wa

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


A czasem nie

  1. <?php
  2. $dh = opendir (&#092;"./Galeria/\");
  3. ?>


To by wyjaśniało brak uprawnień; w systemach unixowych ./ oznacza bieżący katalog, a samo / "początek" systemu plików.
Go to the top of the page
+Quote Post
Kreton
post
Post #5





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

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


to było wlasnie to soldat. Mam jeszcze jedno pytanie, poniewaz wyswietla mi wszytkie pliki i foldery ale sa one w jednej lini, a ja przeciez mam to \n

tak wiec co zrobic (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
a i jeszcze jedno dalo by sie aby wypisał te pliki i foldery, ale zeby przy folderach widniało np. DIR

Ten post edytował Kreton 17.03.2005, 15:49:03
Go to the top of the page
+Quote Post
tiraeth
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


\n to znak nowej linii ale nie html'owski.... zamiast \n daj <br />

  1. <?php
  2. if($dh = opendir (&#092;"Galeria\"))
  3. {
  4.  while( ($file = readdir($dh)) !== false )
  5.  {
  6. if($file !== '.' && $file !== '..')
  7. {
  8.  if(is_dir($file))
  9.  {
  10. echo '[d] ';
  11.  }
  12.  echo $file.&#092;"<br />\";
  13. }
  14.  }
  15. }
  16. closedir ($dh);
  17. ?>


Teraz wyświetli [d] jeżeli napotka katalog...
Go to the top of the page
+Quote Post
shima
post
Post #7





Grupa: Zarejestrowani
Postów: 245
Pomógł: 0
Dołączył: 9.09.2002

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


Cytat(Kreton @ 2005-03-17 15:47:59)
to było wlasnie to soldat. Mam jeszcze jedno pytanie, poniewaz wyswietla mi wszytkie pliki i foldery ale sa one w jednej lini, a ja przeciez mam to \n

dodaj
Kod
<pre>
, w przeciwnym razie formatowanie jest ignorowane.

co do DIR
  1. <?php
  2.  
  3. if (is_dir(Twoj_Zasob))
  4. echo 'DIR';
  5.  
  6. ?>
Go to the top of the page
+Quote Post
Kreton
post
Post #8





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

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


teraz uklasa jes linia pod linia ale niepokazjue [d] przy katalogach,

tak przy okazji, wiem ze jestem poczatkujacym programista i powiewnienem przeczytac poradniki ale tego nieznalazłem:

moze mi ktos wytlumaczyc taki ciag
  1. <?php
  2. !== '.' &&
  3. ?>

lub bardziej konkretnie
  1. <?php
  2. if($file !== '.' && $file !== '..')
  3. ?>
Go to the top of the page
+Quote Post
Michał2000
post
Post #9





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 16.03.2005
Skąd: Płońsk

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


A wracajac do twojego problemu. Sprubuj moze dać samo "/"

Czyli:

$dh = opendir ('/');

A oto moja wersja tego skryptu:
http://www.michal2.aplus.pl/wyswietl.php

Ten post edytował Michał2000 17.03.2005, 21:04:00
Go to the top of the page
+Quote Post
Kreton
post
Post #10





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

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


ale dodanie kropki przed / rozwiązało problem
Go to the top of the page
+Quote Post
shima
post
Post #11





Grupa: Zarejestrowani
Postów: 245
Pomógł: 0
Dołączył: 9.09.2002

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


Cytat(Kreton @ 2005-03-17 16:50:33)
moze mi ktos wytlumaczyc taki ciag
  1. <?php
  2. if($file !== '.' && $file !== '..')
  3. ?>

Tłumaczenie:
jeśli $file nie jest dowiązaniem do bieżącego katalogu ('.') I nie jest dowiązaniem do katalogu nadrzędnego ('..')
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: 24.08.2025 - 02:03