2012-08-11 5 views
3

이 코드를 가지고 있지만 작동하지만 4.0MB의 파일 만 복사 할 수있는 제한 사항이 있습니다. 누군가가 파일 크기를 늘리면 파일을 더 크게 복사 할 수 있습니다. 감사원격 URL에서 내 서버로 파일 복사

<? 
    $archivo_origen=$_POST["origen"]; 
    $archivo_destino=$_POST["destino"]; 

    function descarga_archivo ($archivo_origen,$archivo_destino){ 
    $mi_curl = curl_init ($archivo_origen); 
    $fs_archivo = fopen ($archivo_destino, "w"); 
    curl_setopt ($mi_curl, CURLOPT_FILE, $fs_archivo); 
    curl_setopt ($mi_curl, CURLOPT_HEADER, 0); 
    curl_exec ($mi_curl); 
    curl_close ($mi_curl); 
    fclose ($fs_archivo); 
    } 
    descarga_archivo($archivo_origen,$archivo_destino); 
    header("location: index.php"); 


?> 
+0

CURL을 사용하는 대신 ['file_get_contents ($ url)'] (http://php.net/manual/en/function.file-get-contents.php)을 사용해보십시오. – rjz

+0

+1 질문에 답변 해주세요. –

+0

이것은 해결책 인 것 같습니다 : http://stackoverflow.com/questions/6409462/downloading-a-large-file-using-curl – Cyclonecode

답변

0
$fs_origen = fopen($archivo_origen, 'r'); 
$fs_destino = fopen($archivo_destino, 'w'); 
while($data = fread($fs_origen, 4096)) fwrite($fs_destino, $data); 
fclose($fs_origen); 
fclose($fs_destino); 

편집 : 루프 stream_copy_to_stream를 교체합니다.

+0

이 코드는 1.85MB의 파일을 1.87MB로 복사합니다. 감사합니다. – HeribertoVJ

+0

여기 내 phpinfo()입니다. http://fileshvj.webuda.com/estado.php – HeribertoVJ

+0

복사 할 수있는 코드는 모두 4.0MB입니다. 서버 설정에 의한 것인지는 모르겠다. – HeribertoVJ

관련 문제