Dateigrößenabfrage in KB in PHP-Scrip einbauen

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

  • Dateigrößenabfrage in KB in PHP-Scrip einbauen

    hallo, ich habe folgendes script, in dem ich noch eine Dateigrößenabfrage einbauen will.
    Diese Dateigröße möchte ich auch per eMail zugeschickt bekommen.

    das momentane script lautet:

    <?php

    $path = '/kunden/meine-domain.de'/daten/sonstiges';
    $interval = '300';
    $empfaenger = 'mail@meine-domain.de';
    $betreff = 'Neuer Dateneingang im Sonstigen-Ordner';
    $header = 'From: mail@meine-domain.de' . "\r\n" .
    'Reply-To: mail@meine-domain.de' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();


    $lastrun = time() - $interval;
    clearstatcache();
    foreach (glob($path.'/*') as $file) {
    if (filemtime($file) > $lastrun) {
    $newfiles[] = $file;
    }
    }

    if (count($newfiles) > 0) {
    mail($empfaenger, $betreff, 'Sehr geehrter Herr Blabla,

    es sind neue Daten auf Ihren Server im Sonstigen-Ordner platziert worden.
    Bitte loggen Sie sich in Ihren Server ein, und laden die Daten.

    Gesamtanzahl: '.count($newfiles)."\r\n".implode("\r\n", $newfiles), $header);
    }

    ?>
    Viele Grüße
    Sbockyman

  • #2
    Es gibt gewisse Richtlinien in diesem Forum an die auch du dich halten könntest, dazu gehört z.b. das Verwenden des PHP-Tags.

    filesize() lautet die gesuchte Funktion. Einzubauen ist diese in die foreach-Schleife. Die Funktion liefert die Dateigröße in Bytes, um auf Kilobytes zu kommen müsstest du den erhaltenen Wert durch 1024 teilen. Rest solltest du auch alleine hinbekommen.

    Kommentar


    • #3
      Original geschrieben von reallife
      Es gibt gewisse Richtlinien in diesem Forum an die auch du dich halten könntest, dazu gehört z.b. das Verwenden des PHP-Tags.

      filesize() lautet die gesuchte Funktion. Einzubauen ist diese in die foreach-Schleife. Die Funktion liefert die Dateigröße in Bytes, um auf Kilobytes zu kommen müsstest du den erhaltenen Wert durch 1024 teilen. Rest solltest du auch alleine hinbekommen.

      danke für Deine Hilfe. Nur ich weiss nicht wie ich das Ganze einbinden kann. Habe von programieren keien Ahnung.

      Wärst Du so freundliche und kannst mir bitte das Script erstellen?

      Gruss
      Sbockyman
      Viele Grüße
      Sbockyman

      Kommentar


      • #4
        Dann doch bitte unter Projekthilfe. *move*

        Kommentar


        • #5
          PHP-Code:
          $path '/kunden/meine-domain.de/daten/sonstiges';
          $interval '300';
          $empfaenger 'mail@meine-domain.de';
          $betreff 'Neuer Dateneingang im Sonstigen-Ordner';
          $header 'From: [email]mail@meine-domain.de[/email]' "\r\n" .
          'Reply-To: [email]mail@meine-domain.de[/email]' "\r\n" .
          'X-Mailer: PHP/' phpversion();


          $lastrun time() - $interval;
          clearstatcache();
          foreach (
          glob($path.'/*') as $file
          {
            if (
          filemtime($file) > $lastrun)
              
          $newfiles[] = sprintf('Datei: %s [%01.2f kb]'$file, (filesize($file)/1024));
          }

          if (
          count($newfiles) > 0)
          {
            
          mail($empfaenger$betreff'Sehr geehrter Herr Blabla,

            es sind neue Daten auf Ihren Server im Sonstigen-Ordner platziert worden.
            Bitte loggen Sie sich in Ihren Server ein, und laden die Daten.

            Gesamtanzahl: '
          .count($newfiles)."\r\n".implode("\r\n"$newfiles), $header);

          Kommentar


          • #6
            hallo reallife,

            ich bin begeistert, es funktionert tadellos! Vielen herzlichen Dank.

            Ist es vielleicht noch machbar, das in der eMail die ich bekomme, gleich
            die Dateilinks anzuklicken sind? Dann würde der z.B. Internetexplorer aufgehen
            und mir die Daten gleich herunterladen?

            Liebe Grüße
            Sbockyman
            Viele Grüße
            Sbockyman

            Kommentar


            • #7
              Dazu müsste man eine Email im HTML-Format versenden, derzeit wird nur plaintext versendet.

              Um deine Frage zu beantworten: Ja es ist machbar.

              Kommentar


              • #8
                da es hier grad um mail() geht wie kann man varuiablen mit übergeben habe das in einem ander thread auch versucht aber das ging irgendwie nicht irgendwie wurden nur leerzeich dafür übermittelt

                Kommentar


                • #9
                  Original geschrieben von florian1x
                  da es hier grad um mail() geht wie kann man varuiablen mit übergeben habe das in einem ander thread auch versucht aber das ging irgendwie nicht irgendwie wurden nur leerzeich dafür übermittelt
                  Erläuter doch bitte dein Problem anhand eines Beispiels. Dann kann man dir ggf. auch helfen.

                  Kommentar


                  • #10
                    Original geschrieben von reallife
                    Dazu müsste man eine Email im HTML-Format versenden, derzeit wird nur plaintext versendet.

                    Um deine Frage zu beantworten: Ja es ist machbar.
                    So gut wie jeder ordentliche Mailclient und auch die Webfrontends der mir bekannten Freemailer rendern URLs in Textmails klickbar, wenn sie mit http:// beginnen.

                    Kommentar

                    Lädt...
                    X