Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Istnienie pliku, Sprawdzenie czy plik istnieje i zależnie od tego wykonanie działani
felixk
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 1
Dołączył: 31.01.2009
Skąd: Ostrołęka

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


Witam, piszę skrypt, którego zadaniam jest wyświetlanie komunikatu gdy dany plik nie istnieje. Problem w tym, że w poniższym kodzie komunikat wyświetla się nawet wtedy gdy plik istnieje. Jak to zmienić(IMG:style_emoticons/default/questionmark.gif) Z góry dziękuje za pomoc
Kod skryptu:

  1. if ( !file_exists("$strona.php")) { echo ' TEORETYCZNIE DZIAŁA '; }
  2.  
  3. if(!isset($strona)) {
  4. header('Location: www.strona.pl/blad.html');
  5. }
  6. else if
  7. (is_file("$strona.php")) {
  8. include "$strona.php";
  9. }


Ten post edytował felixk 1.02.2010, 18:12:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Ellington
post
Post #2





Grupa: Zarejestrowani
Postów: 76
Pomógł: 13
Dołączył: 24.03.2009

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


W Twoim skrypcie najpierw sprawdzasz czy plik NIE istnieje, wyrzucasz komentarz przez echo, ale skrypt nadal Ci się wykonuje, mimo że stwierdziłeś, że pliku nie ma.

Poza tym sprawdzasz czy istnieje zmienna $strona, której nie definiowałeś nigdzie.

Poczytaj może o file_exists i o instrukcji warunkowej if. Tak na start.
Go to the top of the page
+Quote Post
felixk
post
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 1
Dołączył: 31.01.2009
Skąd: Ostrołęka

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


Cytat(Ellington @ 1.02.2010, 18:22:55 ) *
W Twoim skrypcie najpierw sprawdzasz czy plik NIE istnieje, wyrzucasz komentarz przez echo, ale skrypt nadal Ci się wykonuje, mimo że stwierdziłeś, że pliku nie ma.

Poza tym sprawdzasz czy istnieje zmienna $strona, której nie definiowałeś nigdzie.

Poczytaj może o file_exists i o instrukcji warunkowej if. Tak na start.


Dobra, ale powiedz mi jak zatrzymać działanie tego warunku w momencie gdy on jest spełniony, bo to w tym jest problem. On działa cały czas a powinien tylko wtedy gdy plik nie istnieje.
Kod
$strona=$_GET["strona"];

    if ( !file_exists("$strona.php")) { echo ' TEORETYCZNIE DZIAŁA '; }
    

    if(!isset($strona)) {
    header('Location: http://www.ostroleka.monar.org/glowna,strona.html');
    }
    else if
        (is_file("$strona.php")) {
            include "$strona.php";
    }



Ten post edytował felixk 1.02.2010, 18:31:43
Go to the top of the page
+Quote Post
Ellington
post
Post #4





Grupa: Zarejestrowani
Postów: 76
Pomógł: 13
Dołączył: 24.03.2009

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


Stwierdzasz, że plik nie istnieje, to częstujesz go funkcją die, albo jakimś redirectem - w zależności, co potrzebujesz. Wtedy dalsza część skryptu się nie wykona. Ewentualnie część skryptu, która ma nastąpić po stweirdzeniu, że plik istnieje umieszczasz w else {}.

Kod
if(file_exists('plik.php'))
{
  // jezeli istnieje
}
else
{
  // jezeli nie istnieje
}


Ten post edytował Ellington 1.02.2010, 18:33:49
Go to the top of the page
+Quote Post
felixk
post
Post #5





Grupa: Zarejestrowani
Postów: 90
Pomógł: 1
Dołączył: 31.01.2009
Skąd: Ostrołęka

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


Teraz przekierowuje wszystko. Pomysły??
  1. $strona=$_GET["strona"];
  2.  
  3. if ( !file_exists("$strona.php"))
  4. {
  5. header('Location: www.strona.pl/blad.html');
  6. }
  7. else
  8. {
  9. include "$strona.php";
  10. }
  11.  
  12. if(!isset($strona))
  13. {
  14. header('Location: www.strona.pl/blad.html');
  15. }


Ten post edytował felixk 1.02.2010, 18:40:26
Go to the top of the page
+Quote Post
TheSnake
post
Post #6





Grupa: Zarejestrowani
Postów: 115
Pomógł: 10
Dołączył: 5.06.2009

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


  1. $strona = $_GET['strona'];
  2.  
  3. if(empty($strona))
  4. {
  5. header('Location: www.strona.pl/blad.html');
  6. }
  7. else if(!file_exists($strona . '.php'))
  8. {
  9. header('Location: www.strona.pl/blad.html');
  10. }
  11. else
  12. {
  13. include $strona . '.php';
  14. }


Ten post edytował TheSnake 1.02.2010, 19:00:45
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: 15.09.2025 - 16:09