- Timestamp:
- 2012/02/15 19:56:17 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/pages/mypage/LC_Page_Mypage_DownLoad.php
r21481 r21514 82 82 $objCustomer = new SC_Customer_Ex(); 83 83 if (!$objCustomer->isLoginSuccess(true)) { 84 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND, "",true);84 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND,'',true); 85 85 } 86 86 … … 93 93 $this->arrErr = $this->lfCheckError($objFormParam); 94 94 if (count($this->arrErr)!=0) { 95 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND, "",true);95 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND,'',true); 96 96 } 97 97 } … … 116 116 117 117 //ファイル情報が無い場合はNG 118 if ($arrForm['down_realfilename'] == "") {119 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND, "",true);118 if ($arrForm['down_realfilename'] == '') { 119 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND,'',true); 120 120 } 121 121 //ファイルそのものが無い場合もとりあえずNG 122 122 $realpath = DOWN_SAVE_REALDIR . $arrForm['down_realfilename']; 123 123 if (!file_exists($realpath)) { 124 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND, "",true);124 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND,'',true); 125 125 } 126 126 //ファイル名をエンコードする Safariの対策はUTF-8で様子を見る 127 127 $encoding = 'Shift_JIS'; 128 128 if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'Safari')) { 129 $encoding = "UTF-8";129 $encoding = 'UTF-8'; 130 130 } 131 131 $sdown_filename = mb_convert_encoding($arrForm['down_filename'], $encoding, 'auto'); … … 179 179 180 180 $dbFactory = SC_DB_DBFactory_Ex::getInstance(); 181 $where = "o.customer_id = ? AND o.order_id = ? AND pc.product_id = ? AND pc.product_class_id = ?";182 $where .= " AND ". $dbFactory->getDownloadableDaysWhereSql('o');183 $where .= " = 1";181 $where = 'o.customer_id = ? AND o.order_id = ? AND pc.product_id = ? AND pc.product_class_id = ?'; 182 $where .= ' AND ' . $dbFactory->getDownloadableDaysWhereSql('o'); 183 $where .= ' = 1'; 184 184 $arrRet = $objQuery->select($col, $table, $where, 185 185 array($customer_id, $order_id, $product_id, $product_class_id)); … … 213 213 $mime_type = $objHelperMobile->getMIMEType($realpath); 214 214 header('Content-Type: ' . $mime_type); 215 header( "Content-Disposition: attachment; filename=". $sdown_filename);215 header('Content-Disposition: attachment; filename=' . $sdown_filename); 216 216 header('Accept-Ranges: bytes'); 217 header( "Last-Modified: " . gmdate("D,d M Y H:i:s") . " GMT");218 header( "Cache-Control: public");217 header('Last-Modified: ' . gmdate('D,d M Y H:i:s') . " GMT"); 218 header('Cache-Control: public'); 219 219 } 220 220 … … 234 234 if (isset($_SERVER['HTTP_RANGE'])) { 235 235 // 二回目以降のリクエスト 236 list($range_offset, $range_limit) = sscanf($_SERVER['HTTP_RANGE'], "bytes=%d-%d");237 $content_range = sprintf( "bytes %d-%d/%d", $range_offset, $range_limit, $file_size);236 list($range_offset, $range_limit) = sscanf($_SERVER['HTTP_RANGE'], 'bytes=%d-%d'); 237 $content_range = sprintf('bytes %d-%d/%d', $range_offset, $range_limit, $file_size); 238 238 $content_length = $range_limit - $range_offset + 1; 239 239 fseek($fp, $range_offset, SEEK_SET); 240 header( "HTTP/1.1 206 Partial Content");241 header( "Content-Lenth: ". $content_length);242 header( "Content-Range: ". $content_range);240 header('HTTP/1.1 206 Partial Content'); 241 header('Content-Lenth: ' . $content_length); 242 header('Content-Range: ' . $content_range); 243 243 } else { 244 244 // 一回目のリクエスト 245 245 $content_length = $file_size; 246 header( "Content-Length: ". $content_length);246 header('Content-Length: ' . $content_length); 247 247 } 248 248 echo fread($fp, $content_length) ; … … 269 269 if (isset($_SERVER['HTTP_RANGE'])) { 270 270 // 二回目以降のリクエスト 271 list($a, $range) = explode( "=",$_SERVER['HTTP_RANGE'],2);272 list($range) = explode( ",",$range,2);273 list($range, $range_end) = explode( "-", $range);271 list($a, $range) = explode('=',$_SERVER['HTTP_RANGE'],2); 272 list($range) = explode(',',$range,2); 273 list($range, $range_end) = explode('-', $range); 274 274 $range=intval($range); 275 275 … … 281 281 282 282 $new_length = $range_end-$range+1; 283 header( "HTTP/1.1 206 Partial Content");283 header('HTTP/1.1 206 Partial Content'); 284 284 header("Content-Length: $new_length"); 285 285 header("Content-Range: bytes $range-$range_end/$file_size"); … … 287 287 // 一回目のリクエスト 288 288 $new_length=$file_size; 289 header( "Content-Length: ".$file_size);289 header('Content-Length: '.$file_size); 290 290 } 291 291 … … 324 324 $contentType = $this->arrContentType[$extension]; 325 325 } 326 header( "Content-Type: ".$contentType);326 header('Content-Type: '.$contentType); 327 327 //ファイル名指定 328 328 header('Content-Disposition: attachment; filename="' . $sdown_filename . '"'); 329 header( "Content-Transfer-Encoding: binary");329 header('Content-Transfer-Encoding: binary'); 330 330 //キャッシュ無効化 331 header( "Expires: Mon, 26 Nov 1962 00:00:00 GMT");332 header( "Last-Modified: " . gmdate("D,d M Y H:i:s") . " GMT");331 header('Expires: Mon, 26 Nov 1962 00:00:00 GMT'); 332 header('Last-Modified: ' . gmdate('D,d M Y H:i:s') . " GMT"); 333 333 //IE6+SSL環境下は、キャッシュ無しでダウンロードできない 334 header( "Cache-Control: private");335 header( "Pragma: private");334 header('Cache-Control: private'); 335 header('Pragma: private'); 336 336 //ファイルサイズ指定 337 337 $zv_filesize = filesize($realpath); 338 header( "Content-Length: ". $zv_filesize);338 header('Content-Length: ' . $zv_filesize); 339 339 set_time_limit(0); 340 340 ob_end_flush(); … … 343 343 $handle = fopen($realpath, 'rb'); 344 344 if ($handle === false) { 345 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND, "",true);345 SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND,'',true); 346 346 exit; 347 347 }
Note: See TracChangeset
for help on using the changeset viewer.