代码之家  ›  专栏  ›  技术社区  ›  Dex

正在验证服务器端上载的文件

  •  0
  • Dex  · 技术社区  · 14 年前

    我有一些csv文件需要上传到我用codeigner编写的站点。

    我需要验证csv以确保它们包含各种信息、列计数匹配以及类似的内容。

    CI是否有任何插件来简化这一过程?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Hans    14 年前

    上传文件后,打开文件,用fgetcsv逐行浏览。

    http://us3.php.net/manual/en/function.fgetcsv.php

    它创建一个数组(在该链接中,第一个示例中的数组称为$data),如果要查找列计数,可以使用sizeof($data)找到它。如果需要特定的列内容或类型,可以使用各种各样的regex来计算。假设第3列必须是电子邮件地址:

    $column_size = 8;
    
    while($data=fgetcsv($p))
    {
        if ( sizeof($data) < $column_size )
        {
            // handle wrong column count error here
        }
    
        if ( !is_email($data[2] ) // is_email is a fictional function
        {
            // handle error here
        }
    
        // other checks...
    }
    

    我不知道它是否有一个CI插件,但它可能不会使它变得更容易。