2012-12-09 5 views
0

PHP로 내 개인용 Android 앱에 대한 일종의 업데이트 관리를하고 있습니다. 계획은 apk 파일과 응용 프로그램 버전을 선택하는 HTML 양식이 있다는 것입니다. 응용 프로그램을 내 서버에 업로드하면 apk 폴더에 저장되고 이름이 바뀝니다. 문제는 파일을 서버에 업로드 할 수 없다는 것입니다. "오류가 있습니다"라는 메시지가 계속 표시됩니다. APK 폴더에는 777 개의 권한이 있습니다.PHP가 서버에 파일을 업로드하지 않습니다.

HTML 양식 :

<form action="android_u.php" method="post" enctype="multipart/form-data"> 
     <table cellspacing="0" border="0" width="680" style="margin-top:25px;"> 
      <tr> 
       <td><b>APK file:</b></td> 
       <td><input type="file" name="apk" placeholder="APK file..." /></td> 
      </tr> 
      <tr> 
       <td><b>Version:</b></td> 
       <td><input type="text" name="version" placeholder="Version..." /> (Example: 1.1)</td> 
      </tr> 
     </table> 
     <input type="image" id="upload" style="margin-left: 580px;" src="templates/images/spacer.png" /> 
    </form> 

PHP 코드 : 해결

$version = $_REQUEST['version']; 

$ver = str_replace(".", "-", $version); 

$target_path = "/apk/ind-" . $ver . ".apk"; 
$file = "ind-" . $ver . ".apk"; 

if(move_uploaded_file($_FILES['apk']['tmp_name'], $target_path)) { 
$msg = "<div class='msg2'>File uploaded</div>"; 

$day = date("j"); 
$month = date("n"); 
$year = date("Y"); 
$hour = date("G"); 
$minute = date("i"); 

$query = "INSERT INTO android (version, user_id, prenosi, file, year, month, day, hour, minute) VALUES ('$verzija', '$id', '0', '$file', '$year', '$month', '$day', '$hour', '$minute')"; 
mysql_query($query); 

} else { 
    $msg = "<div class='msg2'>Error</div>"; 
} 
+3

$ _FILES [ 'apk'] [ 'error']을 (를) 덤프하여 오류 코드가 있는지 확인하십시오. 업로드 크기와 관련된 문제 일 수 있습니다. 오류 코드에 대한 자세한 내용은 http://php.net/manual/en/features.file-upload.errors.php – lostsource

+0

덤프 표시 int (1), 대상 폴더 쓰기 가능 및 파일 크기가 400 kb 미만 – Soriyyx

+1

오류 1 = * 업로드 된 파일은 php.ini의 upload_max_filesize 지시어를 초과합니다 * – lostsource

답변

1

문제, 도와 주셔서 감사합니다.

php.ini의 upload_max_filesize를 50MB에서 50M으로 변경했습니다.

관련 문제