우리는 우리 서버 중 하나에서 워크 플로우 서버로 파일을 다운로드하기 위해 cURL을 사용하고 있습니다. 아래에 붙여 넣은 간단한 코드를 사용하고 있지만 파일은 두 배나 크기가 두 배입니다. 파일을 저장 한 다음 다시 추가 한 것처럼 보일 수 있지만 전 세계에서 왜 그런 일이 발생하는지 알 수 없습니다. 다음은 cURL 다운로드 바이너리가 "double up"파일
내 로컬 컴퓨터가 동일한 방식으로 행동에 테스트 코드입니다 :$file_name = 'test.mp3';
$copy_to_dir = 'C:/test_files/';
$file_url = 'C:/source_files/test.mp3';
$fp = fopen ($copy_to_dir. '/' . $file_name, 'w');
$ch = curl_init($file_url);
curl_setopt_array($ch, array(
CURLOPT_URL => $file_url,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FILE => $fp,
CURLOPT_TIMEOUT => 50
));
$results = curl_exec($ch);
if(curl_exec($ch) === false)
{
//echo 'Curl error: ' . curl_error($ch);
return false;
}
curl_close($ch);
fclose($fp);
원본 파일이 9메가바이트입니다, 복사 18메가바이트는
EDIT 모든 시간이 당신이 복사하지에 교훈하자/서둘러서 "시간 절약"을 위해 코드 붙여 넣기. 두 번째 curl_exec()는 curl_errno() 또는 다른 오류 처리 전략이어야합니다. fwrite()를 사용하는 것만으로도 모든 것을 두 번 다운로드하므로 해결 방법을 찾으면 종료하지 않을 것입니다.
두 파일 :
에 : 변경합니다. 어떤 이유? – DevZer0
아니요. prolly 복사/붙여 넣기. 그냥 파일없이 시도, fwrite를 사용하여 - 예상 결과 – jmadsen
그래서 파일을 제거하고'$ result'를 쓰면 예상 결과가 나옵니까? – DevZer0