2012-09-18 33 views
5

Tôi đã thiết lập mã vạch để tải lên các tệp nhỏ < 2MB và hoạt động tốt. Nhưng tôi gặp sự cố khi tải lên các tệp lớn 20MB>CodeIgniter Tải lên các tệp lớn

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 
    } 
    } 

Tôi không chắc điều gì sai với mã ở trên. Tôi overrode php.ini để chấp nhận các file lớn hơn và dành thời gian nhiều hơn thực hiện các kịch bản nhưng nó vẫn trả về lỗi tương tự:

You did not select a file to upload. 

Một lần nữa, điều này làm việc với các tập tin nhỏ nhưng những người không lớn.

EDIT:. Hóa ra nhà cung cấp máy chủ của tôi đã giới hạn tập tin tải lên như vậy không có giải pháp bên cạnh việc cho FTP một tập tin trong

+0

Tôi khuyên bạn nên cải thiện tỷ lệ vi phạm của mình – artragis

Trả lời

1

Tôi không chắc chắn máy chủ của bạn chấp nhận ini "upload_max_filesize" bất động sản phải được sửa đổi wit hphp kịch bản. Theo mặc định, nó không thể theo tài liệu 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 có nghĩa là nó phải được viết trực tiếp trong tệp của bạn. Nếu bạn không có controle trên php.ini, bạn sẽ không thể ghi đè thuộc tính này.

10

Sử dụng mã bên dưới trong tệp php của bạn.

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); 

bộ bên dưới mã trong tập tin .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 

Chỉnh sửa câu trả lời của tôi sau khi bạn nhận xét

Cập nhật câu trả lời

Set thông số cấu hình trong stage1 của bạn func sự.

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

Sau đó thử.

+0

Đã cố gắng điều này, không hoạt động. Đã phải tạo một php.ini riêng biệt trong thư mục root codeigniter (nơi chứa htcaccess) để thêm các thẻ php_value mà bạn đã đề xuất. – Kamran224

+0

Tôi đã cập nhật câu trả lời của mình. Xin vui lòng xem qua. –

+0

Nhập phần mã mới của bạn nhưng nó vẫn không hoạt động – Kamran224

Các vấn đề liên quan