Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Czy plik istnieje na serwerze
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Poniżej mam skrypt, który jest w stanie stwierdzić czy plik o konkretnej nazwie/ścieżce znajduje się na serwerze.
  1. <?php
  2. $filename = "folder/nazwa_pliku.php";
  3. if (file_exists($filename)){
  4. echo "Plik istnieje";
  5. } else {
  6. echo "Plik nie istnieje";
  7. }
  8. ?>

Wszystko fajnie jeżeli chcemy sprawdzić 1 plik. Co jednak jeżeli tych plików jest o wiele więcej. Można było by zrobić coś takiego:
  1. <?php
  2. $filename = "folder/nazwa_pliku.php";
  3. if (file_exists($filename)){
  4. echo "Plik istnieje";
  5. } else {
  6. echo "Plik nie istnieje";
  7. }
  8. ?>
  9.  
  10. <?php
  11. $filename = "folder/nazwa_pliku2.php";
  12. if (file_exists($filename)){
  13. echo "Plik istnieje";
  14. } else {
  15. echo "Plik nie istnieje";
  16. }
  17. ?>
  18.  
  19. <?php
  20. $filename = "folder/nazwa_pliku3.php";
  21. if (file_exists($filename)){
  22. echo "Plik istnieje";
  23. } else {
  24. echo "Plik nie istnieje";
  25. }
  26. ?>

Załużmy, że pliki "nazwa_pliku", "nazwa_pliku2" znajdują się na serwerze, a plik "nazwa_pliku3" nie. Powinien wyskoczyć następujący komunikat:

Plik istnieje
Plik istnieje
Plik nie istnieje

Jak uzyskać ten sam efekt skracając kod?
Nie wiem może tablica lub pętla. Ponieważ dopiero początkuję w PHP proszę o podpowiedzi, sugestie.
Powód edycji: Przenoszę na Przedszkole dodaje [tag] ~Cienki1980


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
piotrooo89
post
Post #2


Newsman


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




może tak:

  1. <?php
  2. $filename1 = "folder/nazwa_pliku1.php";
  3. $filename2 = "folder/nazwa_pliku2.php";
  4. $filename3 = "folder/nazwa_pliku3.php";
  5.  
  6. if ($x1=file_exists($filename1))
  7. {
  8.  if($x1)
  9.  {
  10. echo "Plik istnieje";
  11.  }
  12.  else
  13.  {
  14. echo "Plik nieistnieje";
  15.  }
  16. }
  17. elseif ($x2=file_exists($filename2))
  18. {
  19.  if($x2)
  20.  {
  21. echo "Plik istnieje";
  22.  }
  23.  else
  24.  {
  25. echo "Plik nieistnieje";
  26.  }
  27. }
  28. elseif ($x3=file_exists($filename3))
  29. {
  30.  if($x3)
  31.  {
  32. echo "Plik istnieje";
  33.  }
  34.  else
  35.  {
  36. echo "Plik nieistnieje";
  37.  }
  38. }
  39. ?>


pisane z palca może nie działać


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





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Dokładnie, użyj tablicy i pętli.

[edit]ciach ciach, za późno tongue.gif

Temat się raczej bardziej nadaje do przedszkola

Ten post edytował l0ud 25.05.2008, 14:57:43


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Nightmare
post
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 21.05.2007

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


Możesz również umieścić ścieżki w tablicy i przejechać po nich pętlą:

  1. <?php
  2.  
  3. $sciezki = array('sciezka1', 'sciezka2'); // itd..
  4.  
  5. foreach ($sciezki as $sciezka) {
  6.  if (file_exists($sciezka)) {
  7. echo 'Plik istnieje';
  8.  } else {
  9. echo 'Plik nie istnieje';
  10.  }
  11. }
  12.  
  13. ?>
Go to the top of the page
+Quote Post
pyro
post
Post #5





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


  1. <?php
  2.  
  3. $pliki = array('plik1.php', 'plik2.php', 'plik3.php');
  4. $wyniki = array();
  5. foreach($pliki as $p)
  6. {
  7.  
  8. if(file_exists($p))
  9. {
  10. $wyniki[$p] = 'plik istnieje!';
  11. }
  12. else
  13. {
  14. $wyniki[$p] = 'nie istnieje!';
  15. }
  16.  
  17. }
  18. foreach($wyniki as $plik => $czy_istnieje);
  19. {
  20. echo 'plik '.$plik.' '.$czy_istnieje;
  21. }
  22.  
  23. ?>


Ten post edytował pyro 25.05.2008, 14:58:14


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
MWL
post
Post #6





Grupa: Zarejestrowani
Postów: 493
Pomógł: 32
Dołączył: 14.04.2008
Skąd: Lenkowski.net

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


zawsze możesz zajrzeć na http://4programmers.net/PHP/FAQ/Lista_plik%C3%B3w_z_katalogu


--------------------
Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
Go to the top of the page
+Quote Post
Szunaj85
post
Post #7





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Jeszcze jedno w obu przypadkach wyniki wyświetlane są w jednej lini. Gdzie wstawić <br/> aby każdy komunikat wyświetlał się w nowej lini. Po za tym dzięki z resztą już sobie poradzę. yahoo.gif

Ten post edytował Szunaj85 25.05.2008, 15:10:32


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
piotrooo89
post
Post #8


Newsman


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




o to chodzi?

  1. <?php
  2. echo '<br />Plik istnieje';
  3. ?>


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





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Tak sobie jeszcze myślę, że ładnie by to wyglądało gdyby do wyświetlanych wyników dodać numerowanie, czyli zamiast:
Plik istnieje
Plik istnieje
Plik nie istnieje
Wyświetlało by:
1. Plik istnieje
2. Plik istnieje
3. Plik nie istnieje
Wydaje mi się, że co pętlę trzeba by było zwiększać o jeden, ale to tylko teoria. cool.gif


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
pyro
post
Post #10





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


nie znasz php, co? smile.gif, ale i tak masz:

  1. <?php
  2.  
  3. $pliki = array('plik1.php', 'plik2.php', 'plik3.php');
  4. $wyniki = array();
  5.  
  6. foreach($pliki as $p)
  7. {
  8.  
  9. if(file_exists($p))
  10. {
  11. $wyniki[$p] = 'plik istnieje!';
  12. }
  13. else
  14. {
  15. $wyniki[$p] = 'nie istnieje!';
  16. }
  17.  
  18. }
  19. $i = 1;
  20. foreach($wyniki as $plik => $czy_istnieje)
  21. {
  22. echo $i.'. '.'plik '.$plik.' '.$czy_istnieje.'<br />';
  23. $i += 1;
  24. }
  25.  
  26. ?>


Ten post edytował pyro 28.05.2008, 17:29:11


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
Szunaj85
post
Post #11





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Nie znam PHP to trochę za dużo powiedziane, ale zgadza się, że jeszcze dużo mi brakuje.
Ale wracając do tematu sprawdziłeś czy ten skrypt działa bo mi nie.
Ogólnie rzecz biorąc już sobie poradziłem. yahoo.gif

Ten post edytował Szunaj85 27.05.2008, 22:06:22


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
pyro
post
Post #12





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Jak sobie poradziłeś?


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
Szunaj85
post
Post #13





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Cytat(pyro @ 27.05.2008, 23:53:11 ) *
Jak sobie poradziłeś?

Ogólna zasada jest taka jaką podałeś. Ja jednak robiłem to na podstawie przykładu Nightmare jest według mnie lepszy i ma jedną pętlę. A jak mi to wyszło? To kwestia odpowiedniego ułożenia nawiasów klamrowych. Za to kocham PHP.
Z powodu jedenego szczegółu możesz się zakopać. laugh.gif

Ten post edytował Szunaj85 28.05.2008, 11:37:14


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
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: 20.08.2025 - 03:32