마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

php로 파일 다운로드를 구현하려고 합니다..

0 추천

 

php로 download를 구현하려고 합니다.
 
client는 따로 아직 구현을 안했고...
 
download.php를 호출하면 해당 폴더에 들은 파일들이 다운이 되어야 합니다.
 
1. 여러 파일을 한페이지 않에서 한번에 보낼 수 없나요??
 
2. 파일 한개만 전송했을 때도 제대로 저장이 안됩니다.
 
3. 여러파일 보낼때는 
[Tue May 14 11:21:12 2013] [error] [client 127.0.0.1] PHP   1. {main}() /var/www/load/download.php:0
[Tue May 14 11:21:12 2013] [error] [client 127.0.0.1] PHP   2. header(*uninitialized*) /var/www/load/download.php:20
[Tue May 14 11:21:12 2013] [error] [client 127.0.0.1] PHP Warning:  Cannot modify header information - headers already sent in /var/www/load/download.php on line 21
이런 워닝이 뜹니다..
 
4. 저장할때 폴더 선택하고 저장되는게 아니라 파일을 선택해야지 저장창이 닫히 더라구요..
 
 
코드 첨부해 볼께요...
 
 
<?php
ob_start();
$version = 6;
 
$dir = './'.$version.'/';
$files = scandir($dir);
 
foreach( $files as $file)
{
if( is_file($dir.$file) )
{
header('Content-Description: File Transfer');
     header('Content-Type: application/octet-stream');
     header('Content-Disposition: attachment; filename='.$file);
     header('Content-Transfer-Encoding: binary');
     header('Expires: 0');
     header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
     header('Pragma: public');
     header('Content-Length: '.filesize($dir.$file));
     ob_clean();
     flush();
readfile($dir.$file);
}
}
 
exit();
?>

 

익명사용자 님이 2013년 5월 14일 질문

1개의 답변

0 추천

 

앱에서 웹뷰를 띄워서 처리하시는 거라면 왠만하면 java에서 http통신을 해서 받아오는 것을 추천합니다.

보안성도 좋고 모양도 커스텀 하기 좋고 말이죠

http 통신으로 php파일이 뿌려지는 내용을 긁어와도 괜찮고 php를 웹뷰에서 호출하면 앱에서

안드로이드 메소드를 호출해서 처리해도 괜찮을 것 같구요

이렇게 하면 UI도 더 원하는 모양으로 할 수 있고 지정 위치에 폴더 생성해서 넣기 등등도 가능하니까요

 

http통신으로 파일 다운받는 자료 링크

http://www.androidpub.com/428238

웹뷰 java script에서 안드로이드 메소드 호출

http://stackoverflow.com/questions/3298597/how-to-get-return-value-from-javascript-in-webview-of-android

 

 

 

 

고또 (6,100 포인트) 님이 2013년 5월 14일 답변
...