Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateien zählen?

Einklappen

Neue Werbung 2019

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

  • Dateien zählen?

    Hi
    Ich will das ein User nur 10 Bilder hochladen kann.
    Mit dem Hochladen, das funktioniert schon.
    Habe jetzt folgenden code:
    PHP-Code:
    function check($dir)    {
    $DH dir($dir);
    $i=0;
    while (
    $file $DH->read())
    {
        if (
    preg_match('/^..?$/'$file)) continue;
        
    $aktuell "$dir/$file";
            if (!
    is_dir($aktuell))
               {
                   
    $i++;
            }
            echo 
    $i;
            return 
    $i;
    }
    }
    check("$updir/".$_SESSION['user1']."");

    if(
    $i>9)
    {
        die(
    "Sie können nicht mehr als 10 Bilder hochladen.");

    Nur irgendwie funktioniert es nicht.
    Das Verzeichnis stimmt auch.
    Wieso geht das nicht?

    Oder wie kann ich es besser lösen?

  • #2
    Hallo,
    du rufst deine Funktion check("$updir/".$_SESSION['user1'].""); auf. Aber der return-Wert wird nirgends gespeichert. Sollte wohl eher so aussehen:
    $i = check("$updir/".$_SESSION['user1']."");
    oder du schmeisst den Funktionsaufruf direkt in die if-Bedingung rein.

    Kommentar


    • #3
      funktioniert trotzdem nicht.

      wenn ich nachdem ich die funktion ausgeführt habe, $i ausgebe, sagt er mir das $i 1 ist.

      Kommentar


      • #4
        Ach so, klar, hab ich übersehen.
        Das return ist in der while-Schleife drin, d.h. die while-Schleife wird einmal betreten und springt dann immer raus. Deswegen wird $i auch nur einmal hochgezählt und du erhälst als Wert 1. Also return aus der Schleife raus, dann könnte es funzen.

        Kommentar


        • #5
          thx, jetzt geht es. Habe aber wieder ein Problem

          Und zwar:
          Habe ich eine login.php.
          In der registriere ich die session user1.
          Wenn ich die in der login.php ausgebe, also dann wenn man weitergeleitet wird. hat die auch den richtigen wert. Aber wenn ich die in der control.php kontrolliere ist sie nicht mehr da.
          So kontrolliere ich sie:
          PHP-Code:
          if(!session_is_registered(user1))    {
              include(
          "login.php");
              exit;

          In einer anderen Datei ist die Session aber da. Nur in der Datei irgendwie nicht.
          Wieso funktioniert das da nicht?

          ###########EDIT###############
          Habe es jetzt hingekriegt.
          Musste davor noch eine andere Datei includen

          Kommentar

          Lädt...
          X