Ergebnis 1 bis 6 von 6

Thema: Filesize by Uuid - RockSolid Custom Elements

  1. #1
    Contao-Nutzer
    Registriert seit
    07.01.2016.
    Beiträge
    4

    Standard Filesize by Uuid - RockSolid Custom Elements

    Hallo Community,

    kurz und knapp:
    Ist es Möglich mit der Uuid die Filesize einer Datei zu bekommen?

    lang und ausführlich:
    Ich habe mit RockSolid Custom Elements ein neues Inhaltselement gebaut.
    Hierbei soll ein Download Element, der Name und weitere Variablen im BE eingetragen werden können - das Funktioniert soweit auch. Und Im Frontend ausgegeben werden.
    Ebenfalls Funktioniert die Ausgabe im FE mit
    HTML-Code:
    <?php
        $objFile = \FilesModel::findByUuid($this->extension);
        print_r($objFile->filesize);
    ?>
    <p class="download-element ext-<?= $this->extension ?>">
        <a href="<?= $objFile->path ?>" title="<?= $this->name ?>"><?= $objFile->name ?> 
            <span class="size">()</span>
        </a>
    </p>
    Leider habe ich im "<?php $this->showTemplateVars(); ?>" oder im print_r($objFile) keine Variable mit der Filesize.

    Ist es Möglich die Filesize irgendwie zu bekommen?

    Das Standart Download.html5 Element bekommt die Filesize in der CotnentDownload.php durch
    HTML-Code:
    $this->Template->filesize = $this->getReadableSize($objFile->filesize, 1);
    Besten Dank und Grüße
    motschi

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.093
    Partner-ID
    10107

    Standard

    Zitat Zitat von motschi Beitrag anzeigen
    Ist es Möglich mit der Uuid die Filesize einer Datei zu bekommen?
    Ja . Über die UUID kommst du ja an den Pfad und über den Pfad an die Dateigröße. zB: (ungetestet)
    PHP-Code:
    <?= \Contao\System::getReadableSize(new \Contao\File(\Contao\FilesModel::findByUuid($uuid)->path)->filesize?>

  3. #3
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von motschi Beitrag anzeigen
    Das Standart Download.html5 Element bekommt die Filesize in der CotnentDownload.php durch
    HTML-Code:
    $this->Template->filesize = $this->getReadableSize($objFile->filesize, 1);
    Ja, dort ist das Object $objFile ein FileObject, welches die Eigenschaft ->filesize besitzt. Du hast in deinem Template aber ein FilesModelObject, welches diese Eigenschaft nicht besitzt. In tl_files gibt es auch kein Feld filesize. Mit einem Model kannst du nur die Felder holen, welche es auch gibt.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  4. #4
    Contao-Nutzer
    Registriert seit
    07.01.2016.
    Beiträge
    4

    Standard Syntax Error & Falsche Byte Zahl

    Zitat Zitat von Spooky Beitrag anzeigen
    Ja . Über die UUID kommst du ja an den Pfad und über den Pfad an die Dateigröße. zB: (ungetestet)
    PHP-Code:
    <?= \Contao\System::getReadableSize(new \Contao\File(\Contao\FilesModel::findByUuid($uuid)->path)->filesize?>
    Leider kommt bei deinem code ein Syntax Error:
    Wenn ich das "->Filesize" entferne erscheint zwar eine zahl allerdings ist die mit 1Byte nicht richtig.

    HTML-Code:
    <?= \Contao\System::getReadableSize(new \Contao\File(\Contao\FilesModel::findByUuid($uuid)->path)) ?>
    Geändert von motschi (20.03.2018 um 12:39 Uhr)

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.093
    Partner-ID
    10107

    Standard

    Mein Code ist ungetestet und auch nur ein Einzeiler, den du so ohnehin nicht benutzen solltest. Das soll nur als Beispiel dienen, wie du zur filesize kommst.

  6. #6
    Contao-Nutzer
    Registriert seit
    07.01.2016.
    Beiträge
    4

    Daumen hoch Lösung

    Hi, danke an alle habe gerade damit eine Lösung gefunden:

    HTML-Code:
    <span class="size">(
         <?php
            $objFile = \FilesModel::findByUuid($this->extension);
            $objFileSize = $this->getReadableSize(filesize($objFile->path));
            echo $objFileSize;
        ?>
    )</span>

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •