{"id":33957088,"url":"https://github.com/ruslan-avantis/csv","last_synced_at":"2025-12-12T20:56:23.972Z","repository":{"id":57042741,"uuid":"113849381","full_name":"ruslan-avantis/csv","owner":"ruslan-avantis","description":"Csv Reader","archived":false,"fork":false,"pushed_at":"2017-12-20T16:21:41.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-27T15:05:20.294Z","etag":null,"topics":["csv","csv-reader"],"latest_commit_sha":null,"homepage":"https://pllano.com/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruslan-avantis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-11T11:11:58.000Z","updated_at":"2021-03-25T18:40:47.000Z","dependencies_parsed_at":"2022-08-24T02:50:43.090Z","dependency_job_id":null,"html_url":"https://github.com/ruslan-avantis/csv","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ruslan-avantis/csv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruslan-avantis%2Fcsv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruslan-avantis%2Fcsv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruslan-avantis%2Fcsv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruslan-avantis%2Fcsv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruslan-avantis","download_url":"https://codeload.github.com/ruslan-avantis/csv/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruslan-avantis%2Fcsv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27691384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-12T02:00:06.775Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","csv-reader"],"created_at":"2025-12-12T20:56:23.469Z","updated_at":"2025-12-12T20:56:23.963Z","avatar_url":"https://github.com/ruslan-avantis.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pllano CSV Reader\n\n[![Latest Version](https://img.shields.io/github/release/pllano/csv.svg?style=flat-square)](https://github.com/pllano/csv/releases)\n[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE)\n\nRead large data from csv files in parts in php\n\nSystem Requirements\n-------\n\nYou need **PHP \u003e= 5.3*\n\nInstall\n-------\n\nInstall `Csv Reader` using Composer.\n\n```\n$ composer require pllano/csv\n```\n\nor in composer.json\n\n```\n\"require\": {\n\t\"pllano/csv\": \"1.0.2\"\n}\n```\n\nFast start =\u003e tests/FastStart.php\n-------\n\nSave the above code fragment as `test.php` in your Web root folder.\n\n``` php\nrequire 'vendor/autoload.php';\n//\trequire_once '/vendor/pllano/csv/src/Reader.php';\n//\trequire_once __DIR__.'/src/Reader.php';\n\n$filename = 'test.csv';\n\n$csv = new Pllano\\Csv\\Reader($filename);\n\n$records = $csv-\u003eRead();\n\n$count = count($records);\nif ($count \u003e= 1) {\n\tforeach ($records as $item) {\n\t\t\t\n\t\tprint_r($item);\n\t\tprint_r('\u003cbr\u003e');\n\t\t\n\t}\n}\n```\n\nRead one line =\u003e tests/ReadOneLine.php\n-------\n\n``` php\nrequire 'vendor/autoload.php';\n//\trequire_once '/vendor/pllano/csv/src/Reader.php';\n//\trequire_once __DIR__.'/src/Reader.php';\n\n$filename = 'test.csv';\n\n$csv = new Pllano\\Csv\\Reader($filename);\n\n$csv-\u003esetItemStart(10);\n$csv-\u003esetExecute(1);\n\n$records = $csv-\u003eRead();\n\nprint_r($records);\n\n/*\nArray\n(\n\t[0] =\u003e Array\n\t(\n\t[name] =\u003e Lorem\n\t[number] =\u003e 11\n\t[price] =\u003e 22.00\n\t)\n)\n*/\n\n```\n\nReal Line Key =\u003e tests/RealLineKey.php\n-------\n\n``` php\nrequire 'vendor/autoload.php';\n//\trequire_once '/vendor/pllano/csv/src/Reader.php';\n//\trequire_once __DIR__.'/src/Reader.php';\n\n$filename = 'test2.csv';\n\n$csv = new Pllano\\Csv\\Reader($filename);\n\t\n$csv-\u003esetItemStart(10); // start item - default: 1\n$csv-\u003esetExecute(50); // amount - default: 0\n\n$records = $csv-\u003eRead();\n\t\n$item_start = $csv-\u003egetItemStart(); // returns 0\n\n$count = count($records);\nif ($count \u003e= 1) {\n\tforeach ($records as $key =\u003e $item) {\n\t\t\n\t$real_key = $key + $item_start;\n\t\t\n\t\tprint_r($real_key);\n\t\tprint_r(' - ');\n\t\tprint_r($item);\n\t\tprint_r('\u003cbr\u003e');\n\t\t\n\t}\n}\n\n```\n\nExample =\u003e tests/ReadRefresh.php\n-------\n\n``` php\nfunction clean($value = '')\n{\n\t$value = trim($value);\n\t$value = stripslashes($value);\n\t$value = strip_tags($value);\n\t$value = htmlspecialchars($value, ENT_QUOTES);\n\t//\t$value = htmlentities($value);\n\treturn $value;\n}\n\n$filename = 'test.csv';\n$start = 0;\n$rows_total = 0;\n\t\nif ($_GET[\"filename\"]) {$filename = clean($_GET[\"filename\"]);}\nif ($_GET[\"start\"]) {$start = clean($_GET['start']);}\n\t\n//\tInclude Composer autoloader if not already done.\nrequire 'vendor/autoload.php';\n//\trequire_once '/vendor/pllano/csv/src/Reader.php';\n//\trequire_once __DIR__.'/src/Reader.php';\n\t\n$csv = new Pllano\\Csv\\Reader($filename);\n\t\n//\t$csv-\u003esetDelimiter(';'); // default: ;\n//\t$csv-\u003esetEnclosure('\"'); // default: \"\n//\t$csv-\u003esetEscape('\\\\'); // default: \\\\\n//\t$csv-\u003esetHeaders('name;number;price'); // default: null\n$csv-\u003esetItemStart($start); // start item - default: 0\n$csv-\u003esetExecute(10); // amount - default: 0\n//\t$csv-\u003esetTimeLimit(29); // Monitoring the execution time of the script in seconds set_time_limit\n//\t$csv-\u003esetAutoDetection(false); // Auto Detection Delimiter false|true - default: false\n\t\n$stop = 500;\n\n$records = $csv-\u003eRead();\n\t\n$count = count($records);\n\tif ($count \u003e= 1) {\n\t\tforeach ($records as $item) {\n\t\t\n\t\t\tprint_r($item);\n\t\t\tprint_r('\u003cbr\u003e');\n\t\n\t\t}\n\t}\n\t\n$rows_total = $csv-\u003ecountItems(); // returns total items\n//\t$csv-\u003egetHeaders(); // returns Array ( [0] =\u003e name [1] =\u003e number [2] =\u003e price )\n//\t$csv-\u003egetItemStart(); // returns string\n//\t$csv-\u003egetExecute(); // returns amount 10\n$end = $csv-\u003egetItemEnd(); // returns 11\n//\t$csv-\u003egetAutoDetection(); // returns false|true\n//\t$csv-\u003egetCsvControl(); // returns Array ( [0] =\u003e ; [1] =\u003e \" [2] =\u003e \\ )\n\nif ($filename \u0026\u0026 $end \u003e= 0 \u0026\u0026 $rows_total \u003e= 0) {\n\t\n\tif ($end \u003c= $rows_total \u0026\u0026 $end \u003c= $stop) {\n\t\t//\tstart //site.com/test.php\n\t\tprint '\u003cmeta http-equiv=\"Refresh\" content=\"0; url=/test.php?filename='.$filename.'\u0026amp;start='.$end.'\"\u003e';\n\t}\n\n\tif ($end \u003e= $stop || $end \u003e= $rows_total) {\n\t\tprint_r('\u003cbr\u003e');\n\t\tprint_r('Memory, MB: '.$csv-\u003egetMemory());\n\t\tprint_r('\u003cbr\u003e');\n\t\tprint_r('Time, sec: '.$csv-\u003egetTime());\n\t}\n\t\n}\n```\n\nSecurity\n-------\n\nIf you discover any security related issues, please email open.source@pllano.com instead of using the issue tracker.\n\n\nLicense\n-------\n\nThe MIT License (MIT). Please see [LICENSE](LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruslan-avantis%2Fcsv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruslan-avantis%2Fcsv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruslan-avantis%2Fcsv/lists"}