Für euch ganz einfach, für mich ein problem!

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

  • Für euch ganz einfach, für mich ein problem!

    Also, ich habe einfach ein Gästebuch von einer Internet intern CD kopiert und alles so nachgemacht, wie es dort stand. Mein Code, der wie folgt aussieht, funktioniert leider nicht.


    <?php

    # Mini-Gaestebuch
    # Von Rainer Gievers

    # Gaestebuchdatei
    $textfile = "test.html";

    if($deinname!="")
    {
    # Oeffnet Gaestebuchdatei und Datei fuer neuen Eintrag
    $fp=fopen($textfile,"r");
    $dp=fopen("$textfile.dup","w");

    do {
    $s=fgets($fp,255);
    fputs($dp,$s);

    # Neue Nachricht einbauen
    if(ereg("START",$s))
    { fputs($dp,"<b>Hallo $deinname</b>\n"); }

    } while($s!="");
    fclose($dp);
    fclose($fp);

    # Alte Gaestebuchdatei durch neue ersetzen
    system("cp $textfile.dup $textfile");
    }

    # Gaestebuch ausgeben
    readfile($textfile);
    ?>


    In der test.html steht einfach nur an einer Stelle das Kommando zum Starten. Das Eintragen in diese Dup datei klappt auch prima und die wird auch erstellt. Das Problem ist nur, dass die Gästebuch Datei nicht überschreiben wird! Da steht immer was von wegen:

    Unable to fork [cp test.html.dup test.html] in c:\Programme\Apache Group\Apache\htdocs/test/bert.php on line 28


    Wo ist der Fehler?

  • #2
    Hi,

    versuchs mal mit:

    copy ( $textfile.".dup",$textfile);
    unlink ( $textfile.".dup");

    Gruß
    Thomas
    Gruß
    Thomas

    Kommentar


    • #3
      @Terminator

      Schätze mal das Dein :

      system("cp $textfile.dup $textfile");

      nicht funktioniert, da Du das ganze ja auf einem Windows-System ausführst
      (c:\Programme\Apache Group\Apache\htdocs/test/bert.php).

      Probiers lieber mit der PHP eigenen Kopierfunktion.
      protaction² - protection in action -
      [color=blue]die community für inline-skater, skateborder, kickboard und classic skater[/color]

      www.protaction2.de

      Kommentar


      • #4
        Entschuldigung wegen meiner Unwissenheit, aber wie wäre denn diese PHp eigene Kopierfunktion und wie müsste ich das schreiben?

        Kommentar


        • #5
          Über
          system("cp $textfile.dup $textfile");
          wird ein File kopiert.

          Den Kopierbefehl "cp" gibt es unter Windoz nicht, da heißt der befehl "copy", also
          system("copy $textfile.dup $textfile");

          Probiers mal mit "copy" im Command.

          Kommentar


          • #6
            Das klappt alles nicht!
            Hat jemand ein anderes ähnlich leichtes Gästebuchscript für mich!Ohne Datenbank, natürlich!
            danke

            Kommentar


            • #7
              Wie lautet die Fehlermeldung jetzt?
              Ändert sich was, wenn Du in der php.ini den Parameter safe_mode auf off setzt und Apache durchstartest (Bitte nicht vergessen!)

              Code:
              ; Safe Mode
              safe_mode		=	Off

              Kommentar


              • #8
                @hand
                welche Vorteile hat
                system("copy $textfile.dup, $textfile");
                gegenüber
                copy ($textfile.dup, $textfile); ?
                ...läuft sowohl auf Unix als auch auf Win98...

                Gruß
                Thomas
                Gruß
                Thomas

                Kommentar


                • #9
                  Keine Vorteile, ganz im Gegenteil. Mein Ausgangspunkt war der Command
                  system("cp $textfile.dup $textfile");
                  cp gibts für windoz nicht, also
                  system("copy $textfile.dup $textfile");

                  Ich habe an copy() nicht gedacht und den safe_mode deshalb zu strapazieren ist ohnehin nicht glücklich.

                  Dein copy() Vorschlag ist sicher die beste Lösung.

                  Kommentar

                  Lädt...
                  X