Autor | Zpráva | ||
---|---|---|---|
blazej44800 Profil |
#1 · Zasláno: 20. 8. 2012, 12:34:39
Ahojte,
používam hosting Wedos a mám vytvorený skript pre sťahovanie príloh kvôli zabezpečeniu: <? include_once("./system/_inc.php"); $id = $safe->intval($_REQUEST["id"]); if (!$user->auth or !$id) exit; $row = mysql_fetch_object(mysql_query(' SELECT file, real_name FROM `'. $config->db["prefix"] .'attachments` WHERE id = "'.$id.'" LIMIT 1 ')); mysql_close(); $file = "./attachments/" . $row->file; if (!file_exists($file) or !$row->file) exit("Attachment not found!"); $len = filesize($file); $filename = $row->real_name; $file_extension = strtolower(substr(strrchr($filename,"."),1)); // Content-Type switch( $file_extension ) { case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "mp3": $ctype="audio/mpeg"; break; case "mpg": $ctype="video/mpeg"; break; case "avi": $ctype="video/x-msvideo"; break; case "gz": $ctype="application/gzip"; break; case "xls": $ctype="application/msexcel"; break; case "xla": $ctype="application/msexcel"; break; case "hlp": $ctype="application/mshelp"; break; case "chm": $ctype="application/mshelp"; break; case "ppt": $ctype="application/mspowerpoint"; break; case "pps": $ctype="application/mspowerpoint"; break; case "doc": $ctype="application/msword"; break; case "dot": $ctype="application/msword"; break; case "dot": $ctype="application/msword"; break; case "pdf": $ctype="application/pdf"; break; case "ps": $ctype="application/postscript"; break; case "rtf": $ctype="application/rtf"; break; case "xml": $ctype="application/xml"; break; case "swf": $ctype="application/x-shockwave-flash"; break; case "wav": $ctype="application/x-wav"; break; case "gif": $ctype="application/gif"; break; case "jpeg": $ctype="application/jpeg"; break; case "jpg": $ctype="application/jpeg"; break; case "png": $ctype="application/png"; break; case "tiff": $ctype="application/tiff"; break; case "tif": $ctype="application/tiff"; break; case "csv": $ctype="text/comma-separated-values"; break; case "txt": $ctype="text/plain"; break; default: $ctype="application/force-download"; } //Begin writing headers header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: public"); header("Content-Description: File Transfer"); //Use the switch-generated Content-Type header("Content-Type: $ctype"); //Force the download header("Content-Disposition: attachment; filename=".$filename.";"); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".$len); @readfile($file); exit; ?> Je tu ale problém, že Wedos povoľuje v základnej verzii hostingu maximálny počet 5 PHP procesov naraz. Ako sa to bde teda brať počas sťahovania súboru? Bude stále obsadený PHP proces alebo nie? Bude môcť sťahovať 6 ľudí prílohy naraz? Ďakujem za odpovede :) |
||
ShiraNai7 Profil |
#2 · Zasláno: 20. 8. 2012, 12:41:36
blazej44800:
„Bude stále obsadený PHP proces alebo nie?“ No i během průběhu readfile() skript stále logicky běží (čeká na dokončení). |
||
Enyeus Profil |
#3 · Zasláno: 20. 8. 2012, 12:49:24
Viz bod 6. Download souborů zprostředkovaný přes PHP skript
http://kb.wedos.com/webhosting/chyba-503.html |
||
blazej44800 Profil |
#4 · Zasláno: 20. 8. 2012, 12:58:43
Enyeus:
Super vďaka, hľadať v KB ma vôbec nenapadlo ;) |
||
Časová prodleva: 12 let
|
0