From 7fa46780f7653f4cdd1fc84efc055991933b8713 Mon Sep 17 00:00:00 2001 From: Daniel Schubert Date: Wed, 29 Mar 2017 08:47:35 +0000 Subject: [PATCH] =?UTF-8?q?aufr=C3=A4umen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VinylDownload.class.php | 286 +--------------------------------------- 1 file changed, 2 insertions(+), 284 deletions(-) diff --git a/VinylDownload.class.php b/VinylDownload.class.php index e5d19fb..fc6b461 100644 --- a/VinylDownload.class.php +++ b/VinylDownload.class.php @@ -5,10 +5,6 @@ class VinylDownload { const TABLE = 'vinyl-codes'; public $database, $file, $code; - public function __construct() { -// @set_time_limit(0); -// ini_set('memory_limit', '512M'); - } private function db_connect(){ $db = new SQLite3( $this->database ); @@ -27,7 +23,7 @@ class VinylDownload { $db->close(); - // row == false when no row was found + /* row == false when no row was found */ return $row; } @@ -53,7 +49,7 @@ class VinylDownload { $this->code = $c; $content = "Code ungültig oder abgelaufen."; - // row == false when no row was found + /* row == false when no row was found */ if ( $row = $this->query_code($this->code) ) { // max count not reached if ( false === $this->reached_max_dl( $row['count'] ) ) { @@ -113,284 +109,6 @@ class VinylDownload { ob_end_clean(); readfile($file); } - - -/* -* Nicht benoetigt:: -*/ - - private function downloader_large_file( $filePath ) - { - if(!empty($filePath)){ - - $fileInfo = pathinfo($filePath); - $fileName = $fileInfo['basename']; - $fileExtnesion = $fileInfo['extension']; - $default_contentType = "application/octet-stream"; - $content_types_list = $this->mimeTypes(); - - // to find and use specific content type, check out this IANA page : http://www.iana.org/assignments/media-types/media-types.xhtml - - if (array_key_exists($fileExtnesion, $content_types_list)) { - $contentType = $content_types_list[$fileExtnesion]; - } else { - $contentType = $default_contentType; - } - - if (file_exists($filePath)) { - $size = filesize($filePath); - $offset = 0; - $length = $size; - //HEADERS FOR PARTIAL DOWNLOAD FACILITY BEGINS - - if ( isset( $_SERVER['HTTP_RANGE'] ) ) { - preg_match('/bytes=(\d+)-(\d+)?/', $_SERVER['HTTP_RANGE'], $matches); - $offset = intval($matches[1]); - $length = intval($matches[2]) - $offset; - $fhandle = fopen($filePath, 'r'); - fseek($fhandle, $offset); // seek to the requested offset, this is 0 if it's not a partial content request - $data = fread($fhandle, $length); - fclose($fhandle); - header('HTTP/1.1 206 Partial Content'); - header('Content-Range: bytes ' . $offset . '-' . ($offset + $length) . '/' . $size); - }//HEADERS FOR PARTIAL DOWNLOAD FACILITY BEGINS - - //USUAL HEADERS FOR DOWNLOAD - header("Content-Disposition: attachment;filename=".$fileName); - header('Content-Type: '.$contentType); - header("Accept-Ranges: bytes"); - header("Pragma: public"); - header("Expires: -1"); - header("Cache-Control: no-cache"); - header("Cache-Control: public, must-revalidate, post-check=0, pre-check=0"); - header("Content-Length: ".filesize($filePath)); - - $chunksize = 8 * (1024 * 1024); //8MB (highest possible fread length) - - if ($size > $chunksize){ - $handle = fopen($_FILES["file"]["tmp_name"], 'rb'); - $buffer = ''; - while (!feof($handle) && (connection_status() === CONNECTION_NORMAL)) - { - $buffer = fread($handle, $chunksize); - print $buffer; - ob_flush(); - flush(); - } - if(connection_status() !== CONNECTION_NORMAL){ - echo "Connection aborted"; - } - fclose($handle); - - } else { - ob_clean(); - flush(); - readfile($filePath); - } - - } else { - echo 'File does not exist!'; - } - - } else { - echo 'There is no file to download!'; - } - } - - - /* Function to get correct MIME type for download */ - private function mimeTypes( $defaultType = null ) - { - /* Just add any required MIME type if you are going to download something not listed here.*/ - $mime_types = array("323" => "text/h323", - "acx" => "application/internet-property-stream", - "ai" => "application/postscript", - "aif" => "audio/x-aiff", - "aifc" => "audio/x-aiff", - "aiff" => "audio/x-aiff", - "asf" => "video/x-ms-asf", - "asr" => "video/x-ms-asf", - "asx" => "video/x-ms-asf", - "au" => "audio/basic", - "avi" => "video/x-msvideo", - "axs" => "application/olescript", - "bas" => "text/plain", - "bcpio" => "application/x-bcpio", - "bin" => "application/octet-stream", - "bmp" => "image/bmp", - "c" => "text/plain", - "cat" => "application/vnd.ms-pkiseccat", - "cdf" => "application/x-cdf", - "cer" => "application/x-x509-ca-cert", - "class" => "application/octet-stream", - "clp" => "application/x-msclip", - "cmx" => "image/x-cmx", - "cod" => "image/cis-cod", - "cpio" => "application/x-cpio", - "crd" => "application/x-mscardfile", - "crl" => "application/pkix-crl", - "crt" => "application/x-x509-ca-cert", - "csh" => "application/x-csh", - "css" => "text/css", - "dcr" => "application/x-director", - "der" => "application/x-x509-ca-cert", - "dir" => "application/x-director", - "dll" => "application/x-msdownload", - "dms" => "application/octet-stream", - "doc" => "application/msword", - "dot" => "application/msword", - "dvi" => "application/x-dvi", - "dxr" => "application/x-director", - "eps" => "application/postscript", - "etx" => "text/x-setext", - "evy" => "application/envoy", - "exe" => "application/octet-stream", - "fif" => "application/fractals", - "flr" => "x-world/x-vrml", - "gif" => "image/gif", - "gtar" => "application/x-gtar", - "gz" => "application/x-gzip", - "h" => "text/plain", - "hdf" => "application/x-hdf", - "hlp" => "application/winhlp", - "hqx" => "application/mac-binhex40", - "hta" => "application/hta", - "htc" => "text/x-component", - "htm" => "text/html", - "html" => "text/html", - "htt" => "text/webviewhtml", - "ico" => "image/x-icon", - "ief" => "image/ief", - "iii" => "application/x-iphone", - "ins" => "application/x-internet-signup", - "isp" => "application/x-internet-signup", - "jfif" => "image/pipeg", - "jpe" => "image/jpeg", - "jpeg" => "image/jpeg", - "jpg" => "image/jpeg", - "js" => "application/x-javascript", - "latex" => "application/x-latex", - "lha" => "application/octet-stream", - "lsf" => "video/x-la-asf", - "lsx" => "video/x-la-asf", - "lzh" => "application/octet-stream", - "m13" => "application/x-msmediaview", - "m14" => "application/x-msmediaview", - "m3u" => "audio/x-mpegurl", - "man" => "application/x-troff-man", - "mdb" => "application/x-msaccess", - "me" => "application/x-troff-me", - "mht" => "message/rfc822", - "mhtml" => "message/rfc822", - "mid" => "audio/mid", - "mny" => "application/x-msmoney", - "mov" => "video/quicktime", - "movie" => "video/x-sgi-movie", - "mp2" => "video/mpeg", - "mp3" => "audio/mpeg", - "mpa" => "video/mpeg", - "mpe" => "video/mpeg", - "mpeg" => "video/mpeg", - "mpg" => "video/mpeg", - "mpp" => "application/vnd.ms-project", - "mpv2" => "video/mpeg", - "ms" => "application/x-troff-ms", - "mvb" => "application/x-msmediaview", - "nws" => "message/rfc822", - "oda" => "application/oda", - "p10" => "application/pkcs10", - "p12" => "application/x-pkcs12", - "p7b" => "application/x-pkcs7-certificates", - "p7c" => "application/x-pkcs7-mime", - "p7m" => "application/x-pkcs7-mime", - "p7r" => "application/x-pkcs7-certreqresp", - "p7s" => "application/x-pkcs7-signature", - "pbm" => "image/x-portable-bitmap", - "pdf" => "application/pdf", - "pfx" => "application/x-pkcs12", - "pgm" => "image/x-portable-graymap", - "pko" => "application/ynd.ms-pkipko", - "pma" => "application/x-perfmon", - "pmc" => "application/x-perfmon", - "pml" => "application/x-perfmon", - "pmr" => "application/x-perfmon", - "pmw" => "application/x-perfmon", - "pnm" => "image/x-portable-anymap", - "pot" => "application/vnd.ms-powerpoint", - "ppm" => "image/x-portable-pixmap", - "pps" => "application/vnd.ms-powerpoint", - "ppt" => "application/vnd.ms-powerpoint", - "prf" => "application/pics-rules", - "ps" => "application/postscript", - "pub" => "application/x-mspublisher", - "qt" => "video/quicktime", - "ra" => "audio/x-pn-realaudio", - "ram" => "audio/x-pn-realaudio", - "ras" => "image/x-cmu-raster", - "rgb" => "image/x-rgb", - "rmi" => "audio/mid", - "roff" => "application/x-troff", - "rtf" => "application/rtf", - "rtx" => "text/richtext", - "scd" => "application/x-msschedule", - "sct" => "text/scriptlet", - "setpay" => "application/set-payment-initiation", - "setreg" => "application/set-registration-initiation", - "sh" => "application/x-sh", - "shar" => "application/x-shar", - "sit" => "application/x-stuffit", - "snd" => "audio/basic", - "spc" => "application/x-pkcs7-certificates", - "spl" => "application/futuresplash", - "src" => "application/x-wais-source", - "sst" => "application/vnd.ms-pkicertstore", - "stl" => "application/vnd.ms-pkistl", - "stm" => "text/html", - "svg" => "image/svg+xml", - "sv4cpio" => "application/x-sv4cpio", - "sv4crc" => "application/x-sv4crc", - "t" => "application/x-troff", - "tar" => "application/x-tar", - "tcl" => "application/x-tcl", - "tex" => "application/x-tex", - "texi" => "application/x-texinfo", - "texinfo" => "application/x-texinfo", - "tgz" => "application/x-compressed", - "tif" => "image/tiff", - "tiff" => "image/tiff", - "tr" => "application/x-troff", - "trm" => "application/x-msterminal", - "tsv" => "text/tab-separated-values", - "txt" => "text/plain", - "uls" => "text/iuls", - "ustar" => "application/x-ustar", - "vcf" => "text/x-vcard", - "vrml" => "x-world/x-vrml", - "wav" => "audio/x-wav", - "wcm" => "application/vnd.ms-works", - "wdb" => "application/vnd.ms-works", - "wks" => "application/vnd.ms-works", - "wmf" => "application/x-msmetafile", - "wps" => "application/vnd.ms-works", - "wri" => "application/x-mswrite", - "wrl" => "x-world/x-vrml", - "wrz" => "x-world/x-vrml", - "xaf" => "x-world/x-vrml", - "xbm" => "image/x-xbitmap", - "xla" => "application/vnd.ms-excel", - "xlc" => "application/vnd.ms-excel", - "xlm" => "application/vnd.ms-excel", - "xls" => "application/vnd.ms-excel", - "xlt" => "application/vnd.ms-excel", - "xlw" => "application/vnd.ms-excel", - "xof" => "x-world/x-vrml", - "xpm" => "image/x-xpixmap", - "xwd" => "image/x-xwindowdump", - "z" => "application/x-compress", - "rar" => "application/x-rar-compressed", - "zip" => "application/zip"); - return $mime_types; - } }