Verständnissfrage

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

  • Verständnissfrage

    Ok. Ich habe folgendes script und check einfach nicht wofür die forschleife da ist. Ich verstehe schon, dass ich mit flock() die datei für "Außenstehende" sperre, aber das kann ich doch auch ohne die for-Schleife.

    PHP-Code:
    <?php
    $name 
    ="Weber";
    $email ="asdf@asdf.com";
    $handler = @fopen("daten.txt","a")
        or die (
    "Kann die Datei namen.txt nicht oeffnen, weil Fehler:
            <br>
    $php_errormsg aufgetreten ist!");
    if (
    $handler)
    {
        for(
    $ii=0$ii<5$ii++)
        {
            
    $sperre_flag flock($handlerLOCK_EX LOCK_NB);
                if(!
    $sperre_flag)
                {
                    
    sleep(3);
                }
                else
                {
                    break;
                }
        }
        if(
    $sperre_flag)
        {
            
    $neue_zeile=chr(13).chr(10);
            
    $datensatz=$name."&&".$email;
            
    $b fwrite($handler,"$datensatz$neue_zeile");
            
    fflush($handler);
            
    fclose($handler);
        }
        else
        {
            echo 
    "Es konnte keine Sperre gesetzt werden";
        }
    }
    else
    {
        echo 
    "Datei schrieben nicht m&ouml;glich";
    }
    ?>

  • #2
    die forschleife dient dazu, den flock() Befehl bei einem false 5 mal auszuführen.

    PHP-Code:
    for($ii=0$ii<5$ii++)
    {
       
    // sperre Datei $handler. $sperre_flag erhält true oder false
       
    $sperre_flag flock($handlerLOCK_EX LOCK_NB);
       
    // sperre hat nicht funktioniert, $sperre_flag ist false
       
    if(!$sperre_flag)
       {
          
    /* warte 3 Sekunden, die schleife läuft wieder durch und
              versucht die Datei zu sperren */
          
    sleep(3);
       }
       else
       {
          
    // Die Datei konnte gesperrt werden, Schleife wird abgebrochen
          
    break;
       }

    Zuletzt geändert von Benny-one; 18.04.2006, 11:02.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Nur kurze anmerkung:

      Dein Script wartet eigentlich nur so lange bis es exklusiven Schreibzugriff auf die Datei bekommt wenn ich das nun richtig gelesen habe.

      Kommentar


      • #4
        Eigentlich ganz logisch, wenn mans weiß .
        Dankeschön!

        Kommentar

        Lädt...
        X