christophehurpeau / php-importer
此包已被废弃,不再维护。没有建议的替代包。
PHP的接口和CSV导入器
1.0.0
2015-05-13 14:45 UTC
Requires (Dev)
- codeclimate/php-test-reporter: ^0.1.2
- phpunit/phpunit: ^4.0
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2020-08-22 08:39:03 UTC
README
php-importer
导入并处理文件
示例
namespace CountriesExample; class CountriesCsvProcessor implements \Importer\HeaderValidator, \Importer\LineProcessor { const HEADER_COUNTRY_NAME = 'country_name'; /** * @return array|true */ public function processFile($file) { $engine = new \Importer\Csv\Engine; $parser = new \Importer\Csv\Parser($file); return $engine->process($parser, $this, $this); } /** * @return array */ public function getRequiredHeaders() { return array( self::HEADER_COUNTRY_NAME ); } /** * @param array $line */ public function processLine(array $line) { $countryName = $line[self::HEADER_COUNTRY]; if (empty($countryName)) { return 'Country name for country' . $countryName . 'is empty for line '.print_r($line, true); } echo $countryName . "\n";//do something return true; // everything went well } }
如何使用
ini_set('auto_detect_line_endings', true); $countriesCsvProcessor = new CountriesCsvProcessor(); $result = $dataCountriesCsvProcessor->processFile(__DIR__ . '/../data/countries.csv'); if ($result !== true) { throw new \Exception('Failed lines: '. print_r($result, true)); }