php 다운로드된 파일이 열리고도 표시가 재대로 안되는 오류
본문
답변 1
코드소스입니다 ㅠㅠ
<?php
header("Content-type: text/html; charset=utf-8");
if(!$_GET['num'])
{
echo "<script>alert('이상하게 접근하셨습니다;;');";
echo "history.back();</script>";
}
@ $db = new mysqli('DB호스트', 'DB계정명', 'DB계정비밀번호', '사용할DB');
if(mysqli_connect_errno())
{
echo "DB connect error";
exit;
}
$query = "select name, hash from ftp where num=".$_GET['num'];
$result = $db->query($query);
if(!$result)
{
echo "query error";
exit;
}
$result = $result->fetch_assoc();
$dir = "./files/";
$filename = $result['name'];
$filehash = $result['hash'];
if(file_exists($dir.$filehash))
{
header("Content-Type: Application/octet-stream");
header("Content-Disposition: attachment; filename=".$filename);
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($dir.$filehash));
$fp = fopen($dir.$filehash, "rb");
while(!feof($fp))
{
echo fread($fp, 1024);
}
fclose($fp);
$query = "update ftp set down=(down+1) where num=".$_GET['num'];
$result = $db->query($query);
if(!$result)
{
echo "down counter update error";
exit;
}
}
else
{
echo "<script>alert('파일이 없습니다.);";
echo "history.back();</script>";
exit;
}
$db->close();
?>
답변을 작성하시기 전에 로그인 해주세요.