【问题标题】:CodeIgniter Uploading Large FilesCodeIgniter 上传大文件
【发布时间】:2012-09-11 00:04:33
【问题描述】:

我已经设置了 codeigniter 来上传

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

我不确定上面的代码有什么问题。我覆盖了 php.ini 以接受更大的文件并花费更多时间执行脚本,但它仍然返回相同的错误:

You did not select a file to upload.

同样,这适用于小文件,但不适用于大文件。

编辑:原来我的服务器提供商限制了文件上传,所以除了 FTP 文件之外没有其他解决方案。

【问题讨论】:

  • 我建议您提高录取率

标签: php codeigniter upload


【解决方案1】:

以下代码在您的 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);

在 .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

在您发表评论后编辑我的答案

更新答案

在你的 stage1 函数中设置配置参数。

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

之后再试试。

【讨论】:

  • 试过了,没用。必须在根 codeigniter 目录(htcaccess 所在的位置)中创建一个单独的 php.ini 以添加您建议的 php_value 标签。
  • 检查你的 php.ini 文件,我认为它不能正常工作。因为上面我的答案中的代码我已经在我的项目中使用了。它工作得很好。
【解决方案2】:

我不确定您的服务器是否接受要使用 hphp 脚本修改的 ini "upload_max_filesize" 属性。默认情况下,它不能根据文档 http://php.net/manual/fr/ini.core.php

upload_max_filesize | “2M” | PHP_INI_PERDIR | PHP_INI_ALL 倒 PHP

PHP_INI_PERDIR 表示它必须直接写在你的 ini 文件中。如果您无法控制 php.ini,您将无法覆盖此属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-01
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 2011-10-19
    • 2011-11-06
    相关资源
    最近更新 更多