簡體   English   中英

如何使用codeigniter上傳超過2mb的文件

[英]how to upload more than 2mb file using codeigniter

我正在嘗試上傳一個大於2mb的文件,即使在控制器中設置了最大大小后仍無法上傳該文件。請幫助找到此問題的解決方案。

下面是我的代碼:

調節器

    $config['upload_path'] = './abc/';
    $config['allowed_types'] = '*';
    $config['max_filename'] = '255';
    $config['encrypt_name'] = FALSE;
    $config['overwrite'] = TRUE;
    //$config['max_size'] = '102400'; //100 MB
    $config['max_size']             = '25600';
    $config['max_width']            = '0';
    $config['max_height']           = '0';
    $config['file_name']=$newfilename;

大小限制也由您的PHP配置強加; 因此,您需要更新php.ini並更新兩個設置post_max_sizeupload_max_filesize

在codeigniter上找不到php.ini ,而是在服務器上安裝了PHP。 在這里閱讀更多有關它的信息: http : //php.net/manual/en/configuration.file.php

假設您要允許最大上傳文件大小為256mb,這就是您應該在php.ini

post_max_size=256M
upload_max_filesize=256M

php.ini進行更改后,您必須重新啟動apache或php-fpm-取決於您使用的是什么。

如果您在共享主機環境中,則可能無法直接訪問php.ini文件,但是您的主機提供商可能會限制您通過其主機控制面板(如cPanel或Plesk等)修改php配置的權限。

例如,如果您是在本地進行開發,並且說您正在使用XAMPP在Windows上; 通常在以下位置找到php.ini文件: C:\\xampp\\php\\php.ini (取決於安裝xampp的位置)。 在linux上,php.ini配置通常位於/etc/php.ini類的/etc/php.ini (並不總是保證)。

您始終可以使用以下腳本在服務器上創建一個名為phpinfo.php的文件: <?php phpinfo(); ?> <?php phpinfo(); ?>並訪問它,例如http://localhost/phpinfo.php ,它將顯示加載的php.ini文件的位置以及post_max_sizeupload_max_filesize的當前設置值。

您可以在CI項目的根文件夾中更改.htaccess文件。 這對於共享托管很有用,您可以在其中不更改php.ini):

## I need more memory (50M) to upload large image
<IfModule mod_php5.c>
  php_value memory_limit 256M
  php_value post_max_size 50M
  php_value upload_max_filesize 50M
</IfModule>

在Codeigniter中,您可以在config.php文件中設置文件大小首選項:請參閱docs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM