2014-10-06 3 views
0

사용자가 HTML 파일 입력 및 PHP를 사용하여 최대 2GB의 jar 파일을 업로드 할 수있게하려고합니다. 프로세스가 잘 작동하고 파일을 업로드하지만 크기가 작은 경우에만 업로드합니다. 나는이에 php.ini 파일을 설정 한 :약 2MB 이상의 PHP 파일을 업로드하려면 어떻게해야합니까?

max_execution_time = 10000 
max_input_time = 10000 
post_max_size = 2048M 
upload_max_filesize = 2048M 

나는 그것이 거기에있다 내 모든 PHP 페이지 만든이있었습니다 :

require_once("../include/config.php"); 

이 그것에 아무것도 일반 흰색 페이지로로드를 그것은 말했다 라인 (80)에

Fatal error: Cannot redeclare encodePassword() (previously declared in /home/duskfall/public_html/authentication/encode.php:2) in /home/duskfall/public_html/authentication/encode.php on line 80 

은 다음과 같습니다 :

$coded = ""; 
,691 OR (때로는) 그것은 나에게 오류를 제공합니다

php.ini에 4 가지만 넣을 때 왜 이렇게할까요? php.ini 파일을 만들 때에도 이것들이 유일한 4 가지입니다. 그것은 php.ini 파일에 NOTHING을 넣을 때도 마찬가지입니다. 파일에 다른 것들을 넣어야합니까?

어떻게이 문제를 해결할 수 있습니까? 아니면 php.ini 파일로 처리하고 PHP 페이지 하나만 적용하는 더 좋은 방법이 있습니까?

EDIT : 리눅스 서버에서 godaddy.com 호스트를 사용하고 있습니다.

+0

(의존하는 당신이 가지고있는 유형 호스팅) 오류로 –

+0

을 '$ encodePassword'가 다시 선언되고 있습니다. 올바른 파일을보고 있는지 확인 하시겠습니까? – Hamish

+0

@Hamish encodePassword는 함수입니다. 제가 게시 한 라인은 오류가 그 기능에 있다고 말한 곳이었습니다. 내가 만들 때까지는 php.ini가 없었습니다. 내가 모든 일을 그만 둘 때. 그것은 나에게 오류를 주거나 때로는 그냥 빈 페이지를로드했습니다. php.ini에 더 많은 것을 추가해야합니까? – Forseth11

답변

0
  1. post_max_size를 사용하려면 먼저 memory_limit를 설정해야합니다.
  2. post_max_size memory_limit에 따라 달라 지므로 memory_limit는 post_max_size보다 크지 않아야합니다.
  3. 또한 post_max_size는 upload_max_filesize보다 커야합니다.
    PHP 스크립트에서 사용 :

    echo ini_get ("memory_limit"). "\ n";
    ini_set ("memory_limit", "30M");
    echo ini_get ("memory_limit"). "\ n";

    echo ini_get ("post_max_size"). "\ n";
    ini_set ("post_max_size", "20M");
    echo ini_get ("post_max_size"). "\ n";

    에코 ini_get ("upload_max_filesize"). "\ n";
    ini_set ("upload_max_filesize", "19M");
    echo ini_get ("upload_max_filesize"). "\ n"; 또한

:
나는 당신이 당신의 기능 encodePassword()에 문제가있는 것 같아요.
처럼 새로운 명확한 테스트 파일을 사용하십시오 :

test.html를

<form enctype="multipart/form-data" action="/path/to/your/phpscript" method="POST"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
    Send this file: <input name="userfile" type="file" /> 
    <input type="submit" value="Send File" /> 
</form> 

test.php 방법 goddady의 한계 위에있는

$uploaddir = '/path/to/your/dir'; 
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']); 

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 
    echo "Success.\n"; 
} else { 
    echo "Error!\n"; 
} 

echo '<pre>'; 
    echo 'Debug file:'; 
    print_r($_FILES); 
echo "</pre>"; 
+0

내가 그랬을 때 그것은 memory_limit 만 변경했지만 나머지는 동일하게 유지됩니다. 메모리 제한 : 64M - NEW 메모리 한도 : 30M - 최대 게시 : 48M - 신규 게시 최대 : 48M - 최대 업로드 : 32M - NEW 최대 업로드 : 32M – Forseth11

+0

이것은 코드에 문제가 있음을 의미합니다. –

관련 문제