 |
|
|  |
[PHP] ¿ø°ÝÁö ÆÄÀÏ ÁÖ¼Ò ³ëÃâ ¾ÈÇÏ°í curl·Î ´Ù¿î·Îµå ¹Þ±â |
|
|
 |
2³â Àü |
ÆÄÀÏ ´Ù¿î·Îµå¸¦ ±¸ÇöÇÒ ¶§ ¾ÆÁÖ °£´ÜÇÏ°Ô aű׸¦ ÀÌ¿ëÇؼ ±¸ÇöÀ» ÇÕ´Ï´Ù.
ÇÏÁö¸¸ ±×·¸°Ô ÇÒ °æ¿ì ÆÄÀÏ °æ·Î°¡ ¾ÆÁÖ ½±°Ô ³ëÃâÀÌ µÇ¾î¹ö¸³´Ï´Ù.
º¸Åë ³ëÃâµÇ¾îµµ Å©°Ô »ó°ü¾ø´Â °æ¿ì°¡ ¸¹Áö¸¸
À¯·á Ŭ·¡½º »óÇ°À» ±¸¸ÅÇѴٰųª ¿Â¶óÀÎ ÄÁÅÙÃ÷¸¦ À¯·á·Î ÆǸÅÇÒ °æ¿ì¿¡´Â ÆÄÀÏÀÇ °æ·Î°¡ ³ëÃâµÇ¸é
½±°Ô °øÀ¯°¡ µÇ¾î¹ö¸®±â ¶§¹®¿¡ ³ëÃâÀ» ¸·½À´Ï´Ù.
¹°·Ð ½ºÅ丮Áö³ª CDN ¼ºñ½º ÀÚü¿¡¼ °æ·Î¸¦ ¾Ë´õ¶óµµ ±ÇÇÑÀ» ¸·¾Æ ºÒ°¡ÇÏ°Ô ¼³Á¤ÇÒ ¼ö ÀÖÁö¸¸
´Ü¼ø À¥È£½ºÆÃÀ» ÀÌ¿ëÇϰųª º¸¾È ¼³Á¤ÀÌ ºÒ°¡ÇÇ ÇÒ ¶§ PHP¿¡¼ ÆÄÀÏ °æ·Î¸¦ ³ëÃâÇÏÁö ¾Ê°í ¿ø°ÝÁö ÆÄÀÏÀ» ´Ù¿î·Îµå¸¦ ¹ÞÀ» ¼ö ÀÖ´Â ¹æ¹ýÀ» Æ÷½ºÆà ÇÕ´Ï´Ù.
// ÆÄÀÏÀ» ¹ÞÀ» ±ÇÇÑÀÌ ÀÖ´Â Áö üũ
if($is_guest)
alert('´Ù¿î·Îµå ±ÇÇÑÀÌ ¾ø½À´Ï´Ù.');
$filepath = "http://webi.kr/abc.zip"; // ´Ù¿î·Îµå ¹ÞÀ» ÆÄÀÏ ÁÖ¼Ò
$filename = end(explode("/", $filepath)); // ÆÄÀÏ ÁÖ¼Ò¿¡¼ ÆÄÀÏ¸í¸¸ ÃßÃâ
// ºê¶ó¿ìÀúº° Çì´õ ¼³Á¤ ( ±×´©º¸µå ¼Ò½º )
if(preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_SERVER['HTTP_USER_AGENT'])) {
header("content-type: doesn/matter");
header("content-length: ".filesize($filepath));
header("content-disposition: attachment; filename=\"$filename\"");
header("content-transfer-encoding: binary");
} else if (preg_match("/Firefox/i", $_SERVER['HTTP_USER_AGENT'])){
header("content-type: file/unknown");
header("content-length: ".filesize($filepath));
header("content-disposition: attachment; filename=\"".basename($filename)."\"");
header("content-description: php generated data");
} else {
header("content-type: file/unknown");
header("content-length: ".filesize($filepath));
header("content-disposition: attachment; filename=\"$filename\"");
header("content-description: php generated data");
}
header("pragma: no-cache");
header("expires: 0");
// curlÀ» ÀÌ¿ëÇØ ÆÄÀÏ ´Ù¿î·Îµå
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $filepath);
$file = curl_exec ($ch);
curl_close($ch);
À§ÀÇ Äڵ带 º°µµÀÇ ÆÄÀÏÀ» ¸¸µé¾î¼ ´Ù¿î·Îµå ½Ãų °æ¿ì ±ÇÇÑ Ã¼Å©µµ ÇÔ²² ÁøÇàÇÒ ¼ö ÀÖ°í, ÆÄÀÏ ´Ù¿î·ÎµåÀÇ ·Î±×µµ ³²±æ ¼ö ÀÖ¾î À¯¿ëÇÕ´Ï´Ù.
±×´©º¸µåÀÇ bbs/download.php ´Â ·ÎÄÃÆÄÀÏÀ» ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ°Ô µÇ¾îÀÖÁö¸¸ ¿ø°ÝÁö ÆÄÀÏÀº ´Ù¿î·Îµå°¡ ¾ÈµÇ´Â ¹®Á¦°¡ ÀÖ¾î ÀϺΠÄڵ带 ¼öÁ¤ÇÏ¿© Curl·Î ¿ø°ÝÁö ÆÄÀÏÀ» ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖµµ·Ï ÇÏ¿´½À´Ï´Ù. |
|
̵̧ : 117 |
̵̧
¸ñ·Ï
|
|
|  |
|