테스트 사이트 - 개발 중인 베타 버전입니다

형님들안녕하세요 제발 부탁드리겠습니다 파일다운로드? 채택완료

aaab 6년 전 조회 1,890

다른 서버에서 FTP DB를 고대로 카페24 계정에 복사를 했는데요.

 

파일 다운로드가 되지 않아서 글 남깁니다ㅠㅠ

다른서버는 다운로드는 잘 됩니다

우선은 down에 관한 소스는

</p>

<p><?</p>

<p>include    "../include/db_connect.html"; $DB = new DB_Connect();</p>

<p>if($_GET[filenum]=="15") { $field="filename0"; }

elseif($_GET[filenum]=="16") { $field="filename1"; }

elseif($_GET[filenum]=="17") { $field="filename2"; }

elseif($_GET[filenum]=="18") { $field="filename3"; }

elseif($_GET[filenum]=="19") { $field="filename4"; }

elseif($_GET[filenum]=="20") { $field="filename5"; }

elseif($_GET[filenum]=="21") { $field="filename6"; }</p>

<p>$sql="select * from hyun_board_$_GET[Category] where no='$_GET[no]'";

//echo $sql;

$query=mysql_query($sql);

$data=mysql_fetch_array($query);</p>

<p>$dnfile =$data[filepath].$data[$field]; //실제 파일명 또는 경로</p>

<p>

echo $data[filepath];</p>

<p>$newfile=explode(".",$data[$field]);

$nums=count($newfiles);

$newname=str_replace("\'","",$newfile[0]);

$newname=str_replace("\"","",$newname);

$newname=explode("-",$newfile[0]);

$comnew=$newname[0].".".$newfile[1];</p>

<p>$dnfilen = $comnew; //다운받을 이름</p>

<p>if (is_file($dnfile)) {</p>

<p> Header("Cache-Control: cache, must-revalidate, post-check=0, pre-check=0");

    Header("Content-type: application/x-msdownload");

 Header("Content-Length: ".(string)(filesize($dnfile)));

 Header("Content-Disposition: attachment; filename=".$dnfilen."");

 Header("Content-Description: PHP5 Generated Data");

 Header("Content-Transfer-incoding: euc_kr"); 

 Header("Content-Transfer-Encoding: binary");  

 Header("Pragma: no-cache");

 Header("Expires: 0");

 Header("Content-Description: File Transfer");</p>

<p>if (is_file($dnfile)) {

  $fp = fopen($dnfile, "rb");</p>

<p>if (!fpassthru($fp)) 

    fclose($fp);</p>

<p>}

}else {

  echo "<script>alert('해당 파일이나 경로가 존재하지 않습니다.');</script>";

}

?></p>

<p>

입니다 다운로드 버튼을 누르면 파일이나경로가 존재하지 않다고 합니다

혹시나해서 phpinfo를 봤는데 옮기기전 서버는 allow_url_fopen 이 local value, Master Value모두 on 이였고 카페24는 당연히 off off 죠 혹시 몰라서 .htaccess에 php_value allow_url_fopen on 도 해서 켜봤는데 계석 경로에 파일이 없다고 나오네요ㅠㅠ뭐가 문제인지 알수있을까요?

php 버전은 5.2 동일합니다..

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
유찬아빠

쿼리가 제대로 되었다면

print_r($data);

해서 해당 파일 경로의 파일이 있는지 검사 해 보세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인