2011-07-28 3 views
3

나는 이것에 대한 몇 가지 일반적인 지침을 찾고있다 ...특정 디렉토리에 파일을 다운로드하도록 PHP를 설정하는 방법은 무엇입니까?

나는 csv 파일을 다운로드하기 위해 cURL을 사용하는 PHP 스크립트를 만들었다. 현재 스크립트를 실행할 때 파일을 내 컴퓨터로 다운로드합니다. 다운로드 경로를 수정하여 웹 호스트의 디렉토리로 보내고 싶습니다. PHP로 이것을 할 수있는 쉬운 방법이 있습니까?

<?php 

$ch = curl_init(); 
//this is where I submit the form to download the csv file... 
curl_close ($ch); 

header("Content-Disposition: attachment; filename=file_I_am_downloading.csv"); 
header("Content-Type: application/octet-stream"); 
readfile("http://www.example.com/file_I_am_downloading.csv"); 
?> 

는이 정리해 나는이 PHP 파일을 실행할 때 그게 '다운로드 그래서 스크립트가 개정 될 싶습니다 : 여기

는 CSV 파일을 다운로드 PHP 스크립트의 빠른 요약 한 것입니다 file_I_am_downloading.csv '파일을 내 컴퓨터로 먼저 다운로드하지 않고 내 호스트의 특정 디렉토리로 복사하십시오. 시간 내 주셔서 감사 드리며 제공 할 수있는 방향을 알려 주시면 감사하겠습니다.

+0

는 fopen의 경우 래퍼는 단순히 PHP 복사 명령을 사용할 수 있습니다 활성화 : http://php.net/manual/en/function.copy.php – JohnP

답변

2
$ch = curl_init(); 
.... curl setup 
$data = curl_exec($ch); 
if ($data === FALSE) { 
    die(curl_error($ch)); 
} 

// do this, instead of the header/readfile business. 
file_put_contents('/some/path/on/your/webhost', $data); 
+0

나는 것을 시도했다, 그러나 그것은 나에게 오류를주고있다 : 경고 : file_put_contents (/ file/path /) [function.file-put-contents] : 스트림을 열지 못했습니다 : 권한이 거부되었습니다 ... 777을 디렉토리에 할당했는데 왜 오류가 발생하는지 정확히 모르겠습니다. 나는 그것으로 계속 일할 것이다. 입력 해 주셔서 감사합니다 :) – Presto

+0

디렉토리가 아닌 파일 이름을 지정해야합니다. '/ some/path/file.txt' –

+0

굉장! 지금 큰 일을했습니다 :) Thanks – Presto

관련 문제