Birgit: Blackout bei PHP-Statement

Hallo,

Die PHP-Statements

$aa= $_SERVER['DOCUMENT_ROOT'].'/data/hd.txt';	
echo $aa;	

/*
	if (file_exists($aa)){
	   echo 'OK';
	   else 
	echo 'KO';}
*/

haben als Ergebnis:
/var/www/vhosts/xxxxxxx.de/httpdocs/data/hd.txt

Wenn ich das if-Statement aktiviere, so wird das echo nicht ausgeführt, da das if offensichtlich falsch ist.
Ich finde aber keinen Fehler!

akzeptierte Antworten

  1. if ( file_exists( $aa ) ) {
       echo 'Alles Toll!';
    } else {
       echo 'Mist!';
    }
    

    Es fehlen die geschweiften Klammern, die den if-Block beenden und den else-Block starten.

  2. Hallo Birgit,

    hast Du eine Fehlermeldung von PHP erhalten?

    Wenn nicht, hilft es in solchen Fällen, die beiden Zeilen

    display_errors(1);
    error_reporting(E_ALL);
    

    an den Anfang des Scripts zu setzen (natürlich hinter das <?php).

    Dann würdes Du die Meldung

    Parse error:  syntax error, unexpected token "else" in [...] on line 4...
    

    bekommen und hättest darüber nachdenken können, warum er an dieser Stelle das else nicht erwartet.

    Wenn Du einen Testserver mit Zugang zur PHP.INI hast, kannst Du dort diese Einstellungen auch direkt eintragen; sie sollten als Vorlage bereits existieren, such mal nach den Namen.

    error_reporting = E_ALL display_errors = On

    Die Raketenlösung des Rätsels hast Du nun ja schon - viel Spaß weiterhin 😀

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo Rolf,

      Dann würdes Du die Meldung

      Parse error:  syntax error, unexpected token "else" in [...] on line 4...
      

      bekommen und hättest darüber nachdenken können, warum er an dieser Stelle das else nicht erwartet.

      sie, nicht er. Computer müssen weiblich sein. Schwer zu durchschauen, eigenwillig, manchmal sogar etwas zickig, aber doch faszinierend und man möchte sie nicht missen.

      Einen schönen Tag noch
       Martin

      --
      Мир для України.
      1. @@Der Martin

        sie, nicht er. Computer müssen weiblich sein. Schwer zu durchschauen, eigenwillig, manchmal sogar etwas zickig, aber doch faszinierend und man möchte sie nicht missen.

        Sowas kam mir auch in den Sinn.

        🖖 Живіть довго і процвітайте

        --
        When the power of love overcomes the love of power the world will know peace.
        — Jimi Hendrix
  3. Hello,

    [...] was andere schon schrieben...

    Außerdem sollte man /data/ immer außerhalb der Document-Root anordnen, wenn man schon Scriptsprachen und Virtual Hosts benutzt.

    Beispiel:

    _skeleton
    ├── data
    ├── htdocs
    │   ├── bilder
    │   ├── images
    │   └── robots.txt
    ├── includes
    ├── logs
    ├── sessions
    └── tmp
    

    Für alle "bilder"-Verzeichnisse im Baum, egal wo sie genau liegen, schalte ich z. B. zusätzlich in der VHost-Konfigutation immer alle Scriptausführungen aus, da sie per HTTP/s erreichbar sind.

    "Images" wären nur System-Icons, die garantiert keine Codes enthalten.

    $aa= $_SERVER['DOCUMENT_ROOT'].'/data/hd.txt';	
    echo $aa;	
    
    /*
    	if (file_exists($aa)){
    	   echo 'OK';
    	   else 
    	echo 'KO';}
    */
    
    

    haben als Ergebnis:
    /var/www/vhosts/xxxxxxx.de/httpdocs/data/hd.txt

    Wenn ich das if-Statement aktiviere, so wird das echo nicht ausgeführt, da das if offensichtlich falsch ist.
    Ich finde aber keinen Fehler!

    --
    Es gibt nichts Gutes, außer man tut es!
    Das Leben selbst ist der Sinn.