Ahoj, rád bych požádal o radu. Na serveru mám soubory a jsou ke stažení uživatelům. Pro stažení souborů používám script:
if (!isset($_GET["file"]))
exit("Nezadan nazev souboru");
$file = $_GET["file"];
if (!file_exists($file) || is_dir($file) || ereg("\.php$", $file)) {
header("HTTP/1.0 404 Not Found");
exit;
}
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
//header("Content-type: application/force-download");
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));
header('Cache-Control: must-revalidate');
readfile($file);
exit;
Jsou stahovány pouze soubory *.pdf. Pokud je název souboru "soubor.pdf", "soubor_2.pdf" tak je vše OK. Pokud je "soubor 2.pdf" (v názvu souboru je mezera), tak se dialog pro stažení nebo otevření souboru zobrazí, ale v názvu je pouze první část názvu (soubor) bez další s příponou souboru. Tím se nenabídne ani výchozí program pro otevření souboru. Mohl by mi, prosím, někdo poradit, jak docílit korektního stažení souboru při zachování mezery v názvu souboru? Děkuji