Exemple #1
0
 /**
  * @param $fileName
  * @param $content
  * @param array $options
  * @return mixed
  */
 private function send($fileName, $content, $options = array())
 {
     ini_set('memory_limit', '128M');
     if (!isset($options[XApp_File_Utils::OPTION_SIZE_LIMIT])) {
         $options[XApp_File_Utils::OPTION_SIZE_LIMIT] = XApp_File_Utils::GET_FILE_SIZE_LIMIT;
     }
     if (!isset($options[XApp_File_Utils::OPTION_CHUNK_SIZE])) {
         $options[XApp_File_Utils::OPTION_CHUNK_SIZE] = XApp_File_Utils::GET_FILE_CHUNK_SIZE;
     }
     if (!isset($options[XApp_File_Utils::OPTION_TEMP_PATH])) {
         $options[XApp_File_Utils::OPTION_TEMP_PATH] = sys_get_temp_dir();
     }
     if (!isset($options[XApp_File_Utils::OPTION_AS_ATTACHMENT])) {
         $options[XApp_File_Utils::OPTION_AS_ATTACHMENT] = false;
     }
     if (!isset($options[XApp_File_Utils::OPTION_TEST])) {
         $options[XApp_File_Utils::OPTION_TEST] = false;
     }
     if (!isset($options[XApp_File_Utils::OPTION_SEND])) {
         $options[XApp_File_Utils::OPTION_SEND] = true;
     }
     $mime = XApp_File_Utils::guessMime($fileName);
     if ($options[XApp_File_Utils::OPTION_SEND] === true) {
         //XApp_File_Utils::sendHeader($mime,($options[XApp_File_Utils::OPTION_AS_ATTACHMENT] ? $fileName:''), basename($fileName));
         if (!$options[XApp_File_Utils::OPTION_TEST]) {
             XApp_File_Utils::sendHeader($mime, $options[XApp_File_Utils::OPTION_AS_ATTACHMENT] ? $fileName : '', basename($fileName));
             if (strpos($mime, "text") !== FALSE) {
                 if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
                     ob_start("ob_gzhandler");
                 } else {
                     ob_start();
                 }
             }
         }
         echo $content;
     } else {
         XApp_File_Utils::sendHeader($mime, '', basename($fileName));
         return $content;
     }
 }