Über Web, Tech, Games, Art,
Musik, Code & Design

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.pdfCode-Sprache: JavaScript (javascript)

statt:

https://www.fbnfrtg.de/wp-content/uploads/2023/10/Test-PDF.pdfCode-Sprache: JavaScript (javascript)

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";
}Code-Sprache: PHP (php)

Schreibe einen Kommentar

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