2012-10-23 6 views
1

안녕하세요 .. 저는 PHP 스크립트를 사용하여 Android 앱에서 이미지 파일을 업로드하고 있습니다. 나는 HTTP Post 기능을 사용하여 파일을 업로드한다 (나는 www.masterstroketech.org/postimage.php?fn=abc.png라고 부르고 이미지 경로를 게시한다). 파일은 서버에서 생성되지만 크기는 0 바이트입니다.PHP 스크립트를 사용하여 Android 앱에 이미지 업로드

000webhost.com의 무료 서버에서 동일한 스크립트를 사용하면이 스크립트가 정상적으로 실행됩니다. 문제가 정확히 무엇입니까?

<?PHP 
    $data = file_get_contents('php://input'); 
    if (!(file_put_contents($_GET['fn'],$data) === FALSE)) echo "File xfer completed."; // file could be empty, though 
    else echo "File xfer failed."; 
?> 
+0

일반적으로 파일을 덮어 쓰려는 요청을 원하지 않습니다. GET 매개 변수를 보호하십시오. ''/ etc/passwd ''와 같은 값이 실행되지 않도록하고 원하지 않는 파일을 덮어 씁니다. 당신의 실무자가 아닌 hoster는 이것을 방지하기 위해 보안을 구현했을 것입니다. – Sven

답변

1
php.net에서 file_get_contents의 문서에서 추출

:

Reading all script input is simple task with file_get_contents, but it depends on what SAPI is being used. 

Only in Apache, not in CLI: 
<?php 
    $input = file_get_contents("php://input"); 
?> 

Only in CLI, not in Apache: 
<?php 
    $input = file_get_contents("php://stdin"); 
?> 

In Apache php://stdin will be empty, in CLI php://input will be empyt instead with no error indication. 

그래서 로컬 서버 구성에 문제처럼 보인다 다음과 같이

PHP 코드입니다.

+1

이 답변은 작동했습니다! 감사합니다. :) –