Function gleich ausführen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Function gleich ausführen

    Hi

    Folgendes:
    PHP Code:
    $variable date(m:s);
    sleep(4);
    echo 
    $variable
    Ist es möglich dass die Funktion date() erst beim Abruf der $variable ausgeführt wird? Wenn ja, was muss ich machen damit PHP sie vor der Pause ausführt und in die $variable speichert?

  • #2
    PHP Code:
     $vorher date(m:s);
    sleep(4);
    echo 
    $vorher;
    echo 
    date(M:s); //danach... 
    sowas?

    Comment


    • #3
      PHP Code:
      sleep(4);
      $variable date(m:s);
      echo 
      $variable
      EDIT:
      mist...
      Ich denke, also bin ich. - Einige sind trotzdem...

      Comment


      • #4
        Argh! Sorry ich glaube ich habe mich etwas falsch ausgedrückt.

        Ich möchte das die Funktion VOR der Pause ausgeführt und in die Variable gespeichert wird.

        Comment


        • #5
          Und was macht dein Code?

          Evtl. suchst du flush?
          Ich denke, also bin ich. - Einige sind trotzdem...

          Comment


          • #6
            Hmm also eigentlich macht es etwa sowas:

            PHP Code:
            $size1 filesize($file);
            usleep(100);
            $size2 filesize($file);
            $differenz $size1 $size2;
            echo 
            $differenz

            Comment


            • #7
              Und?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Comment


              • #8
                Mit flush() funktionierts nicht.

                Comment


                • #9
                  Was passiert?
                  Was passiert nicht?
                  Wie sollte es sein?
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Comment


                  • #10
                    Okay sorry für die wenigen Infos. Also. Es wird eine Datei hochgeladen, deren Grösse ich VOR und NACH der Pause "speichern" und dann vergleichen will. Er gibt aber bei beiden Variablen die gleiche Grösse aus, ergo ist $differenz = 0.

                    EDIT:
                    Ich denke dass ist ja weil er die Variable $size1 erst nach der Pause setzt oder?

                    Comment


                    • #11
                      In deinem Codebeispiel ist ja auch nur eine Ausgabe drin... Wie sollte flush da funktionieren / eine Wirkung zeigen?

                      Mein Beispiel (s.o.) funktioniert jedenfalls...

                      EDIT:
                      Vielleicht ist auch die Zeitdifferenz zu kurz gewählt? Bei meinem Beispiel wird der Variablen eindeutig VOR der Pause ein Wert zugewiesen.

                      Comment


                      • #12
                        Könnte daran liegen, dass das Skript erst dann startet, wenn der Upload fertig ist
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Comment


                        • #13
                          Ne das Script läuft wärend dem Upload da der Upload nicht über ein PHP Script läuft sondern über FTP.

                          An der Zeitdifferenz liegt es bestimmt nicht denn ich hab es auch mir sleep(5); versucht.

                          Comment


                          • #14
                            PHP Code:
                            echo date('r').'<br />-<br />';
                            echo 
                            str_repeat(' '1000);
                            flush();
                            sleep(5);
                            echo 
                            date('r'); 
                            Das funktioniert auf jeden Fall, solltest auch die Hinweise bei flush lesen...
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Comment


                            • #15
                              Ich glaube es könnte daran liegen das filesize() gecached wird. clearstatcache() soll da abhilfe schaffen aber es ändert sich irgendwie auch nix.

                              EDIT:
                              Sorry mein Fehler! Mit clearstatcache() funktioniert es! Danke für eure Hilfe!
                              Last edited by PHPbeginner; 12-05-2005, 21:43.

                              Comment

                              Working...
                              X