$filename = $_GET['plik']; // required for IE, otherwise Content-disposition is ignored switch( $file_extension ){ case "pdf": $ctype="application/pdf"; break; case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "rar": $ctype="application/rar"; break; case "docx": case "doc": $ctype="application/msword"; break; case "xlsx": case "xls": $ctype="application/vnd.ms-excel"; break; case "pptx": 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; default: $ctype="application/force-download"; break; } // change, added quotes to allow spaces in filenames, by Rajkumar Singh
I zamiast archiwum pobiera mi html [nazwa i rozszerzenie jak plik - plik1.rar] - po zmianie rozszerzenia na txt/html pokazuje:
<br /> <br /> body { background-color: #999; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #333; } #reszta{ ... } .css { ktory nie jest nigdzie załączany do pliku } <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head>
46 linijka: header("Content-Length: ".filesize($filename)."");
Jak ją wywaliłam nie wyświetlało mi błędu tylko nadal tworzyło plik html...
plik nie jest includowany w index.php - a tylko tam jest załączony css [oddzielny plik.css] - nie wiem skąd i dlaczego go wyciąga.
Link do pobierania pliku wygląda tak:
http://www.adres.pl/pobierz/2/plik1.zip
wpis .htaccess
RewriteRule ^pobierz/([0-9]+)/([a-z0-9.]+)$ pobierz.php?user=$1&plik=$2 [L]
Jak w nazwie pliku występuje więcej niż 1 kropka jest ok np: nazwa.jakiegos.innego.zip