2012-09-18 18 views
5

Mam skonfigurowany program do wysyłania małych plików < 2 MB i to działa dobrze. Ale mam problemy z przesyłaniem dużych plików 20MB>CodeIgniter Przesyłanie dużych plików

function stage1() 
    { 
    ini_set('upload_max_filesize', '200M'); 
    ini_set('post_max_size', '200M');        
    ini_set('max_input_time', 3000);         
    ini_set('max_execution_time', 3000); 

    $config['upload_path'] = './temp/'; 
    $config['allowed_types'] = 'zip'; 

    $this->load->library('upload', $config); 
    $this->upload->initialize($config);        
    if(!$this->upload->do_upload('userfile'))      
    { 
     $error = array('error' => $this->upload->display_errors()); 
     $this->load->view('upload_form', $error);      
    } 
    else 
    { 
     $data = array('upload_data' => $this->upload->data());   
     //do stuff 
    } 
    } 

Nie jestem pewien, co jest nie tak z powyższym kodem. I overrode php.ini zaakceptować większe pliki i zajmuje więcej czasu wykonywania skryptu, ale wciąż powraca ten sam błąd:

You did not select a file to upload. 

Ponownie, to działa z małymi plikami, ale nie dużych.

EDIT:. Okazuje się, że mój dostawca serwer ogranicza przesyłanie plików, więc nie ma oprócz rozwiązanie do FTP plik w

+0

Polecam, aby poprawić swój współczynnik akredytacji – artragis

Odpowiedz

1

Nie jestem pewien, czy serwer akceptuje ini „upload_max_filesize” własność zostać zmodyfikowana wit hphp scenariusz. Domyślnie nie można tego zrobić zgodnie z dokumentacją http://php.net/manual/fr/ini.core.php.

upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL pour PHP <= 4.2.3.

PHP_INI_PERDIR oznacza, że ​​musi być zapisany bezpośrednio w pliku ini. Jeśli nie masz żadnej kontroli nad php.ini, nie będziesz w stanie zastąpić tej właściwości.

10

Poniższy kod jest używany w pliku php.

ini_set('memory_limit', '200M'); 
ini_set('upload_max_filesize', '200M'); 
ini_set('post_max_size', '200M'); 
ini_set('max_input_time', 3600); 
ini_set('max_execution_time', 3600); 

zestaw poniżej kod w pliku .htaccess

php_value upload_max_filesize 128M 
php_value post_max_size 128M 
php_value max_input_time 3600 
php_value max_execution_time 3600 

Edit moja odpowiedź po komentować

Aktualizacja odpowiedź

zestaw parametrów konfiguracyjnych w stage1 func tację.

$config['max_size'] = '1000000'; 
$config['max_width'] = '1024000'; 
$config['max_height'] = '768000'; 

Potem spróbuj.

+0

Próbowałem tego, nie działa. Musiał utworzyć osobny plik php.ini w katalogu root codeigniter (gdzie znajduje się htcaccess), aby dodać tagi php_value, które zasugerowałeś. – Kamran224

+0

Zaktualizowałem swoją odpowiedź. proszę spojrzeć. –

+0

Dodano nową sekcję kodu, ale nadal nie działa – Kamran224