PHP Nette - jak stahovat soubory nad adresářem www (z rootu)

PHP Nette - jak stahovat soubory nad adresářem www (z rootu)

Dobrý den,

potřeboval bych na mém webu, který je napsán v PHP Nette, použít funkci, která by umožnila stahovat soubory mimo obvyklou cestu web/www/uploads z web/uploads, tzn. z adresáře na stejné úrovni jako je app, vendor, www... Jak by se to dalo řešit? Cílem je, aby cesta k souborům nebyla pro návštěvníka vidět a nedalo se stahovat "tipováním" cesty k souborům. Díky

ODPOVĚĎ


Dobrý den,

ano, já stahování nad adresářem www v Nette řeším takto:


public function getFile($up_id)
{
$document_root = $_SERVER['DOCUMENT_ROOT'];

//odebere www na konci v ceste $document_root
$path = substr($document_root, 0, -3);
$file = $this->getUpload($up_id);
$file = $path . $file->up_path;

if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
}
return $file;
}
Show english version

Související obsah

programovani

nette

php

Komentáře

Vaše reakce na PHP Nette - jak stahovat soubory nad adresářem www (z rootu)

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.