W efekcie tego, po kliknięciu linku przez dość długi czas mam "Oczekiwanie...." po czym otwiera się okienko do ściągania. Nazwa i typ (ikonka) się zgadzają z oryginałem. Po kliknięciu OK plik natychmiast się sciąga, w ułamek sekundy --- bo jest pusty

I jeszcze jedno pytani ---- jak uniemożliwić pobranie pliku przez "Zapisz element docelowy jako...". Wydaje mi się, że gdy biorę "Zapisz element docelowy jako" i wpiszę nazwę taką pod jaką plik jest zapisany to i tak się sciągnie i będzie go można odczytać.
Zależy mi na tym ,żeby dostęp do plików był tylko i wyłączenie po zalogowaniu, żeby nie możnabyło sobie przekazywać linków i ściągać plików bez zalogowania.
<?php $file_id = $_REQUEST['file_id']; include("mysql_connection.php"); $sql = "SELECT nazwa_pliku FROM g2_files WHERE file_id='" . $file_id . "'"; // $nazwa_pliku jest tabelą w bazie, wiec moge ją dalej wykorzystywac $plik = "/home/mateusz/files_G2/$filename"; //Gather relevent info about file //This will set the Content-Type to the appropriate setting for the file switch( $file_extension ) { case "pdf": $ctype="application/pdf"; break; case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "doc": $ctype="application/msword"; break; case "xls": $ctype="application/vnd.ms-excel"; break; case "ppt": $ctype="application/vnd.ms-powerpoint"; break; case "gif": $ctype="image/gif"; break; case "png": $ctype="image/png"; break; case "jpeg": case "jpg": $ctype="image/jpg"; break; case "mp3": $ctype="audio/mpeg"; break; case "wav": $ctype="audio/x-wav"; break; case "mpeg": case "mpg": case "mpe": $ctype="video/mpeg"; break; case "mov": $ctype="video/quicktime"; break; case "avi": $ctype="video/x-msvideo"; break; //forbidden case "php": case "htm": case "html": case "txt": $_SESSION['error_msg'] = "Próbujesz ściągnąć niedozwolony format pliku !!!"; break; //jesli nie znany, ale nie zakazany (domyslny) default: $ctype="application/force-download"; } //Begin writing headers //Use the switch-generated Content-Type //Force the download $header="Content-Disposition: attachment; filename=".$nazwa_pliku.";"; exit; ?>