explode und fwrite

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • explode und fwrite

    PHP-Code:
    <?
    $trennfilenames = "[*~)~(~*]";
    $trennfiles = "(**=**|||**=**)";

    $filename = "archiv.ex";

    $f = file($filename);

    $f = implode("", $f);

    for($i=0;$i<$count;$i++) {
        $ex = explode($trennfilenames, $expl[$i]);
        $filen = $ex[0];
        $a = trim($ex[1]);
        if(!file_exists($filen)) {
            touch($filen);
        }
        
        $fp = fopen($filen, "w");
        $re = fputs($fp, $a);
        
        if($re) {
            echo "File $i: Success !<br>";
        } else {
            echo "File $i: Failed !<br>";
        }
        fclose($fp);
    }
    ?>
    Warum funktioniert ds nich wie es soll ?

    Fehler:

    Code:
    File 0: Success !
    
    Warning: unable to create file filename2.php because No such file or directory in e:\wampp-0.13.1a\htdocs\exim\im.php on line 34
    
    Warning: fopen("filename2.php", "w") - No such file or directory in e:\wampp-0.13.1a\htdocs\exim\im.php on line 37
    
    Warning: fputs(): supplied argument is not a valid File-Handle resource in e:\wampp-0.13.1a\htdocs\exim\im.php on line 38
    File 1: Failed !
    
    Warning: fclose(): supplied argument is not a valid File-Handle resource in e:\wampp-0.13.1a\htdocs\exim\im.php on line 45
    
    Warning: unable to create file filename33.php because No such file or directory in e:\wampp-0.13.1a\htdocs\exim\im.php on line 34
    
    Warning: fopen("filename33.php", "w") - No such file or directory in e:\wampp-0.13.1a\htdocs\exim\im.php on line 37
    
    Warning: fputs(): supplied argument is not a valid File-Handle resource in e:\wampp-0.13.1a\htdocs\exim\im.php on line 38
    File 2: Failed !
    
    Warning: fclose(): supplied argument is not a valid File-Handle resource in e:\wampp-0.13.1a\htdocs\exim\im.php on line 45
    Das heißt, Die erste Datei erstellt er, aber ab der 2. hört er auf ...

    Die archiv.ex:

    Code:
    filename.php[*~)~(~*]<?php
    darksdksdf sdksdfd
    f
    fsk5i34iosdkscf
    eftksdj4ksdjgklg
    dftaseusdfgk534sdf
    g
    7ioadfkgz
    daghksrdz
    adfgkadg
    
    $ejda = 3222;
    echo $ejda;
    ?>
    (**=**|||**=**)
    filename2.php[*~)~(~*]<?php
    darksdksdf sdksdfd
    f
    fsk5i34iosdkscf
    eftksdj4kdsdjgklg
    dftaseusdfg34t
    7ioadfkgz gf
    adfgkadg
    4e
    $ejsfs44da = 323333322;
    echo $ejdadas;
    ?>
    (**=**|||**=**)
    filename33.php[*~)~(~*]<?php
    darksdksdgkgz gdfgkadg
    4e
    $ejsfs44da = 323333322;
    echo $ejdadas;
    ?>
    Danke im Vorraus

  • #2
    Du willst die Informationen aus der archiv.ex wieder zurück in die beiden dateien schreiben ?


    Ich würde die Daten erstmal ganz anders speichern.
    Und zwar mit base64_encode(serialize())


    PHP-Code:
    /**
    * Speichern
    */
    $daten=array("filename.php"=>implode("",file("filename.php")), "filename2.php"=>implode("",file("filename2.php")));

    $fh=fopen("archiv.ex","w");
    fwrite($fh,base64_encode(serialize($daten)));
    fclose($fh);


    /**
    * Auslesen
    */
    $daten=serialize(base64_decode(implode("",file("archiv.ex")))); 
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

    Kommentar


    • #3
      o.O!

      Geht d mit meienr Methode denn nich ?

      Danke erstmal..

      Kommentar


      • #4
        mh. Troublegum das geht nich.

        PHP-Code:
        if(!$a OR $a == "import") {
            
        $files = array(
                
        "file_eins.php" => implode(""file("file_eins.php")),
                
        "file_zwei.php" => implode(""file("file_zwei.php"))
                );
            
            
        $string base64_encode(serialize($files));

            
        $fp fopen($archiv"w");
            
        $fw fwrite($fp$string);
            
        fclose($fp);
        } else {
            
        $daten=unserialize(base64_decode(implode("",file("archiv.ex"))));
            
            
        print_r($daten);

        raus kommt das:
        Array ( [file_eins.php] => [file_zwei.php] => )

        D.h. Die Datein werden nich wirklich eingelesen :/

        Kommentar


        • #5
          Zeile 34 = touch($filen) ???
          Zuletzt geändert von MelloPie; 01.10.2002, 15:47.
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            evt ein Rechte Problem?
            evt nach
            touch($filen);
            ein chmod einfügen
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar

            Lädt...
            X