[英]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_size
和upload_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_size
和upload_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.