2012-10-02 6 views
1
은 무엇 내가 정말로 원하는 것은

:파일 업로드 스크립트 프록시로

  • 사용자는
  • 스크립트는 로그인

음 링크를 다시 반환하는 HTML 페이지에서 스크립트로 업로드합니다 , 곱슬 곱슬의 도움으로 모든 작업을 쉽게 완료 할 수 있고 멀티 파트 포스트를 통해 파일을 수락 할 수 있습니다.

하지만 여기서 문제는 모든 업로드가 완료된 후 서버에서 다른 파일로 파일 업로드를 시작한다는 것입니다. (따라서 긴 프로세스가 필요합니다.) 사용자로 만들 수 있는지 궁금합니다. 파일을 업로드, 그것은 또한 내가이 PHP로도 가능한지 모르겠습니다 파일

을 다운로드 같은 덩어리의 데이터 전송을 유지한다. 그렇지 않을 경우, 이것이 가능

답변

4

당신이 할 수있는 할 수있는 다른 방법 cURL을 사용하여이 작업 수행 :

// Open a stream so that we stream the image download 
$localFile = $_FILES[$fileKey]['tmp_name']; 

$stream = fopen($localFile, 'r'); 

// Create a curl handle to upload to the file server  
$ch = curl_init($fileServer); 
// Send a PUT request 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); 
// Let curl know that we are sending an entity body 
curl_setopt($ch, CURLOPT_UPLOAD, true); 
// Let curl know that we are using a chunked transfer encoding 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Transfer-Encoding: chunked')); 
// Use a callback to provide curl with data to transmit from the stream 
curl_setopt($ch, CURLOPT_READFUNCTION, function($ch, $fd, $length) use ($stream) { 
    return fread($stream, $length) ? ''; 
}); 

curl_exec($ch); 
+0

안녕하세요, 코드 주셔서 감사합니다. 물론 도움이 될 것입니다. 하지만 스트림을 사용하여 사용자가 업로드하는 파일은 언제입니까? 그것은 전에 열릴 수 없기 때문입니다. 예 : $ _FILE [ 'file'] –

+0

수정 된 수정본보기 – GBD

+0

음, 그래,하지만 일단 전체 파일이 클라이언트의 PC에서 서버로 업로드되면이 작업이 수행되지 않겠는가? 그게 왜 내가 PHP에서 가능하지 않을 것이라고 생각하기 때문에 전체 파일을 업로드 한 후 청크에 요청을 찍은 이후 –

관련 문제