13. Oktober 2023

Serverpfad einer Datei in WordPress

Wenn du, z.B. mit Hilfe von LazyBlocks, in WordPress Downloads zur Verfügung stellst, wird der Pfad zur Datei als URL ausgegeben. Um den Dateityp oder die Dateigröße mit PHP zu bestimmen, wird allerdings der absolute Serverpfad benötigt.

Also z.B.

/var/www/vhosts/webxxx.server.xxxxxxxx.de/httpdocs/fbnfrtg/wp-content/uploads/2023/10/Test-PDF.pdf

statt:

https://www.fbnfrtg.de/wp-content/uploads/2023/10/Test-PDF.pdf

Mit folgendem Code kannst du den Serverpfad einer Datei in WordPress ermitteln und den Dateityp und die Dateigröße ausgeben.

$pos = strpos(__DIR__, '/wp-content');
$part1 = substr(__DIR__, 0, $pos);

$fileurl = $attributes['datei']['url']; /* LazyBlock-Variable */
$siteurl = get_site_url();

$part2 = str_replace($siteurl , "", $fileurl);
$filepath = $part1.$part2;

$filesize = filesize($filepath);
$ext = pathinfo($filepath, PATHINFO_EXTENSION);

if($filesize < 1024) {
    $filesize_output = "{$filesize} Bytes";
  } elseif($filesize < 1048576) {
    $size_kb = round($filesize/1024);
    $filesize_output = "{$size_kb} KB";
  } else {
    $size_mb = round($filesize/1048576, 1);
    $filesize_output = "{$size_mb} MB";
}

War dieser Artikel hilfreich?


,



Nächster Artikel
Test-PDF


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert