PHP download.php 샘플
페이지 정보
본문
[ view.php ]
<a href="download.php?idx="<?=$idx?>" target="bbsHidden">클릭</a>
<iframe name="bbsHidden" src="about:blank" style="display:none"></iframe>
[ download.php ]
<?PHP
include_once "_common.php";
include "../dbconfig.php";
$dbconn = mysql_connect("$mysql_host","$mysql_user","$mysql_password") or die("데이터베이스 연결에 실패하였습니다.");
mysql_select_db($mysql_db,$dbconn);
//@mysql_query("set names utf8"); // 한글문제 생기면 주석 해제
$tableName = "hp_download";
$idx = $_GET[idx];
$gubun = $_GET[gubun];
if ($gubun != "1") {
if (!$member[mb_id]) { // 회원이면 다운로드 가능
echo "<script>";
echo "alert('회원로그인후 다운로드 가능합니다.');";
echo "window.parent.location.href='/gnuboard/bbs/login.php?url=/mts/product.php';";
echo "</script>";
//echo ("<script>alert('회원로그인후 다운로드 가능합니다.'); history.back();</ script>");
//if ($member[mb_level] >= 3) { // 3등급이상일때 다운로드 가능
// echo ("<script>alert('관리자에 문의하세요'); history.back();</ script>");
}
}
$strSQL = "select * from ".$tableName." where idx='".$idx."' ";
$result = mysql_query($strSQL);
$reusltNum = mysql_num_rows($result);
$resultRow = mysql_fetch_array($result);
$filepath = "/home/happyjung/public_html".$resultRow[downFile]; // 파일경로 설정
$downCount = $resultRow[download] +1;
$filename = basename($filepath); // URL 에서 이름만 뽑아낸다
if (file_exists($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 {
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");
$fp = fopen($filepath,'rb') ;
if (!fpassthru($fp)) {
fclose($fp);
}
// 다운로드수 증가하기
$strSQL = "update ".$tableName." SET download='". $downCount ."' where idx='".$idx ."'";
$result = mysql_query($strSQL);
if ($member[mb_id] == "") $mb_type = "1";
else $mb_type = "0";
$fileSQL = "insert into hp_download_user (idx, mb_id, date) values ('$idx', '$member[mb_id]', now() )";
$result = mysql_query($fileSQL);
//echo $fileSQL;
} else {
// 파일저장 경로에 파일이 존재하는 않는 경우.
echo ("<script>alert('파일이 존재하지 않습니다.'); history.back();</script>");
}
?>
댓글목록
등록된 댓글이 없습니다.