1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

problem mit file_exists() !!

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von hello, 13.02.09.

  1. hello

    hello Schöner von Nordhausen

    Dabei seit:
    02.07.06
    Beiträge:
    327
    hallo zusammen

    ich arbeite seit einer woche an einem kleinen projekt, lokal auf meinem macbook pro auf dem ich den apachen server mit php und mysql habe. hier funktioniert alles einwandfrei und ohne problem. doch wen ich das ganze auf meinen host lade funktioniert nichts mehr.

    hier mal der code der index.php datei:
    Code:
    <?php
    
    include 'variables.php';
    
    $body[1]='includes/body/standart.inc';
    
    // das array $body ist eigentlich in der datei variables.php
    
    include 'includes/functions.php';
    include 'header.html';
    
    echo '<body>';
    
    include 'includes/navigation.inc';
    
    if (isset($_GET['body'])) {
        
        if (file_exists($body[$_GET['body']])) {
            include $body[$_GET['body']];
        } else {
            include 'includes/body/error.inc';
        }
    } else {
        include 'includes/body/standart.inc';
    }
    
    echo '</body>';
    echo '</html>';
    
    
    ?>
    
    jetzt das problem:

    bei der prüfung "file_exists($body[$_GET['body']])" geht die abfrage in den else bereich obwohl die datei vorhanden ist. könnt ihr mir sagen an was das liegt? ich kann es mir vorallem nicht erklähren weil es lokal auf dem computer funktioniert...

    danke schon im voraus

    manuel
     
  2. s23

    s23 Seidenapfel

    Dabei seit:
    23.11.08
    Beiträge:
    1.333
    Hat die Datei u.U. fehlerhafte Rechte auf dem Webserver? Sind die Benutzer des Servers und der Datei die gleichen oder hängen sie zumindest in der gleichen Gruppe auf dem Webserver?
     
  3. hello

    hello Schöner von Nordhausen

    Dabei seit:
    02.07.06
    Beiträge:
    327
    also die rechte sollten eigentlich stimmen, da der zugriff auf die datei eigentlich funktioniert, also wen ich die datei so "include 'includes/body/standart.inc';" einbnde funktioniert es auch.
    und auf das zweite überfragst du mich, ich bin nicht so server erfahren, das mache in der regel nicht ich, ich habe einfach mein host auf den ich mit meinen benutzer daten zugreife und meine dateien drauf lade.
    (bin auch in php und mysql ein neuling, habe bis vor drei wochen alles in reinem xhtml gemacht)
     
  4. apfelq

    apfelq Braeburn

    Dabei seit:
    10.10.08
    Beiträge:
    42
    dein code ist korrekt, es kann nur daran liegen dass die variable in den include dateien überschrieben wird oder noch wahrscheinlicher dass der pfad nicht stimmt.

    bei der get variable sollte natürlich 1 stehen. ca so *.php?body=1
     
  5. hello

    hello Schöner von Nordhausen

    Dabei seit:
    02.07.06
    Beiträge:
    327
    die pfade stimmen alle, sonst würde das ganze auf meinem localen apachen sever nicht funktionieren, oder sehe ich das falsch?

    hier das komplette array:
    Code:
    $body[1]='includes/body/standart.inc';
    $body[2]='includes/body/standart.inc';
    $body[3]='includes/body/standart.inc';
    $body[4]='includes/body/standart.inc';
    $body[5]='includes/body/standart.inc';
    $body[6]='includes/body/gallery.inc';
    
    und sonst werden die daten niergens überschrieben, habe nochmal alles durchkontrolliert
     
  6. Hairy

    Hairy Sonnenwirtsapfel

    Dabei seit:
    07.08.07
    Beiträge:
    2.397
    Ist vielleicht der PHP-Safe-Mode aktiviert? Dann kann man fast gar nichts mit Dateien machen. Ob file_exists davon betroffen ist, weiß ich zwar nicht genau, aber ich denke schon.
     
  7. hello

    hello Schöner von Nordhausen

    Dabei seit:
    02.07.06
    Beiträge:
    327
    wen das so ist, wo kan ich das sehen? bzw wie kann ich das deaktivieren?
     
  8. Hairy

    Hairy Sonnenwirtsapfel

    Dabei seit:
    07.08.07
    Beiträge:
    2.397
    phpinfo()
    Deaktivieren kannst du es nur, wenn dein Provider das zulässt - dann entweder per Administrationsinterface (Confixx...) oder per php.ini.
     
  9. Bananenbieger

    Bananenbieger Golden Noble

    Dabei seit:
    14.08.05
    Beiträge:
    24.564
    Was ist denn der Inhalt von $_GET['body']?

    Übrigens: Spricht etwas gegen die Nutzung eines PHP-RAD-Frameworks? Da hat man diese ganzen Probleme nicht.
     
  10. hello

    hello Schöner von Nordhausen

    Dabei seit:
    02.07.06
    Beiträge:
    327
    also wen ich das richtige in phpinfo() ausgelesen habe ist der php-safe-mode aktiviert, im anhang mit einem bild (zum sicher gehen, dass ich das richtige genommen habe).

    de inhalt von $_GET['body'] ist eine zahl, bei meinen versuchen bis jetzt immer 1.

    PHP-RAD-Frameworks? kann mir jemand erklähren was das ist? bzw wie das funktioniert?

    danke schonmal für die hilfe bis jetzt!!
     

    Anhänge:

  11. s23

    s23 Seidenapfel

    Dabei seit:
    23.11.08
    Beiträge:
    1.333
    Frag mal deinen Anbieter, welche PHP-Version er einsetzt. Und zwar aus folgendem Grunde:

    Siehe.
     
  12. Bananenbieger

    Bananenbieger Golden Noble

    Dabei seit:
    14.08.05
    Beiträge:
    24.564
    RAD steht für Rapid-Application-Development. Das sind Frameworks, die die ganzen Basis-Funktionen, die man so braucht, bereitstellen, damit man sich nicht zum hundertsten Mal das Rad neu erfinden muss.

    Populäre RADs sind CakePHP, symfony (sehr komplex) und CodeIgniter.
     
  13. myflasher

    myflasher Rheinischer Krummstiel

    Dabei seit:
    19.06.07
    Beiträge:
    378
    Frag doch mal bei deinem Provider ob sie den PHP Safe_Mode auf OFF schalten. Die ON Einstellung verursacht nämlich nichts als Probleme.
     

Diese Seite empfehlen