tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
267
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Acriss Acriss ist offline Mitglied Platin
    Registriert seit
    Jun 2007
    Ort
    Lingen (Niedersachsen, zZ in Istanbul)
    Beiträge
    685
    Guten Tag,
    ich ahbe mir ein paar Sachen zu fopen usw. durchgelesen, und wollte das gleich mal für mein Forum ausprobieren:
    PHP-Code:
             $filename =$_POST['filename']; //$filename = "Kategorie";

             
    if (file_exists($filename))
                 {
                     echo 
    'Die Kategorie '.$filename.' existiert bereits!';
                     }
             elseif (!
    file_exists($filename))
                 {
                     
    $data "../".$filename.".php";
                     
    fopen($data'w+');
                     }

             else echo 
    'Es ist ein Fehler aufgetreten'
    Ich erhalte aber wieder einen achso verhassten weißen Bildschirm.
    error_reporting bringt auch nichts
     

  2. #2
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Zitat Zitat von Acriss Beitrag anzeigen
    PHP-Code:
             $filename =$_POST['filename']; //$filename = "Kategorie";

             
    if (file_exists($filename))
                 {
                     echo 
    'Die Kategorie '.$filename.' existiert bereits!';
                     }
             elseif (!
    file_exists($filename))
                 {
                     
    $data "../".$filename.".php";
                     
    fopen($data'w+');
                     }

             else echo 
    'Es ist ein Fehler aufgetreten'
    Erstmal: Der Part hinter else kann nie ausgefuehrt werden, denn entweder existiert die Datei (erster Block wird ausgefuehrt) oder eben nicht (zweiter Block wird ausgefuehrt).
    Entsprechend kannst Du Deinen Code schonmal wie folgt kuerzen:
    PHP-Code:
             $filename =$_POST['filename']; //$filename = "Kategorie";

             
    if (file_exists($filename))
                 {
                     echo 
    'Die Kategorie '.$filename.' existiert bereits!';
                     }
             else
                 {
                     
    $data "../".$filename.".php";
                     
    fopen($data'w+');
                     } 
    Zusaetzlich kannst Du nicht einfach fopen() alleinstehend nutzen, denn es gibt ein Filehandle zurueck was Du fuer weitere Schritte benoetigst.
    Also brauchst Du z.B. sowas:
    PHP-Code:
    $handle=fopen($data,'w+'); 
    Weiterhin ueberpruefst Du ob $filename existiert, willst dann aber $filename.php erstellen, entsprechend wird hier wohl auch immer der else-Part ausgefuehrt werden, da auch nach Erstellung einer neuen Datei diese nicht von file_exists() gefunden wird, da ja nicht auf .php geprueft wird.
    Besser waere also
    PHP-Code:
    if (file_exists($filename.'.php')) 
    Wenn jetzt nun der else-Part ausgefuehrt wird, gibt es keine Ausgabe, denn dort wird ja nur was gemacht, aber nichts ausgegeben, entsprechend solltest Du auch hier, zumindest waehrend der Entwicklung, eine Ausgabe einbauen damit Du siehst dass dieser Teil ausgefuehrt wurde.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  3. #3
    Acriss Acriss ist offline Mitglied Platin
    Registriert seit
    Jun 2007
    Ort
    Lingen (Niedersachsen, zZ in Istanbul)
    Beiträge
    685
    ok danke
    da lag der Fehler
     

  4. #4
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Wo denn genau? Ich hab ja nun ein paar Punkte angesprochen.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  5. #5
    Acriss Acriss ist offline Mitglied Platin
    Registriert seit
    Jun 2007
    Ort
    Lingen (Niedersachsen, zZ in Istanbul)
    Beiträge
    685
    Mit der Variable
    $FP = fopen...
     

Ähnliche Themen

  1. fopen problem
    Von Marco-P im Forum PHP
    Antworten: 9
    Letzter Beitrag: 12.07.08, 04:58
  2. fopen Problem
    Von spikaner im Forum PHP
    Antworten: 2
    Letzter Beitrag: 29.04.07, 16:56
  3. Problem mit fopen()
    Von maltor im Forum PHP
    Antworten: 7
    Letzter Beitrag: 08.12.04, 19:58
  4. fopen Problem
    Von BomberJack im Forum PHP
    Antworten: 5
    Letzter Beitrag: 28.01.04, 08:06
  5. fopen - Problem
    Von ultrakollega im Forum PHP
    Antworten: 5
    Letzter Beitrag: 31.10.03, 12:21