2011-10-28 4 views
0

html5 끌어다 놓기 업로드 기능이있는 페이지가 있으며 파일은 PUT 메서드를 사용하여 업로드됩니다. 큰 이미지 파일을 업로드하면 이미지의 일부만 서버에 저장됩니다. 파일을 저장하려면 다음 PHP 코드를 사용하고 있습니다.PUT 메서드로 큰 파일 업로드

$putdata = fopen("php://input", "r"); 
    $fp = fopen("/tmp/myputfile" . microtime() . ".jpg", "w"); 

    while ($data = fread($putdata, 1024)) 
     fwrite($fp, $data); 

    fclose($fp); 
    fclose($putdata); 

아무 문제가 없나요? 제발 도와주세요

답변

2

제가 생각하기에 전체 파일이 아직 완전히 읽지 않으려 고 업로드되지 않았다고 생각합니다. 그래서 가끔은 0 바이트를 읽으려고합니다. 그러나 여전히 데이터가 업로드 될 수 있습니다.

아마도 feof 함수를 사용하여 읽을 데이터가 더 있는지 확인할 수 있습니까?

페이지의 "http://www.php.net/manual/en/function.feof.php"

0

는 Windows에있는 경우는 fopen의 모드 매개 변수에 "B"를 추가해야합니다(). manual BTW 참조. 코드 이식성을 위해 param을 추가하는 것이 좋습니다.