<?php
function getCURL($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
return response;
}
class CSVParser {
private $fsArrayColNames;
private $fsArrayExtraCols;
private $faArrayRecords;
private $faArrayExtraRecords;
public function getColTitles($includeExtra, &$colCount) {
$result[] = $fsArrayColNames;
$colCount = count($fsArrayColNames);
if ($includeExtra){
array_merge($result,$fsArrayExtraCols);
$colCount = $colCount + count($fsArrayExtraCols);
}
return result;
}
public function addExtraCols($namesArray){
array_merge($fsArrayExtraCols,$namesArray);
$extraCount = count($namesArray);
$cnt = count($faArrayExtraRecords);
$append = array_fill(0,$cnt,"");
for ($i0 = 0; $i0 < $cnt; ++$i0) {
array_merge($faArrayExtraRecords[$i0],$append);
}
}
public function getRowCount() {
return count($faArrayRecords);
}
public function getOrSetValue($recordID, $col, $value, $isExtra, $isSet){
if ($isExtra){
if ($isSet) {
$faArrayExtraRecords[$recordID][$col]=$value;
}
else {
return $faArrayExtraRecords[$recordID][$col];
}
}
else {
if ($isSet) {
$faArrayRecords[$recordID][$col]=$value;
}
else {
return $faArrayRecords[$recordID][$col];
}
}
}
public function parseCSV($source){
$lines = explode($source,"\n");
$once = false;
$count = 0;
foreach($lines as $line) {
$lineArray = explode($line,",");
if (once) {
array_merge( $faArrayRecords[$count], $lineArray );
}
else {
$fsArrayColNames = $lineArray;
$once = true;
}
$count = $count++;
}
}
public function parseFromURL($url) {
return $this->parseCSV(getCURL($url));
}
}
$p = new CSVParser();
$url="http://pastebin.com/raw.php?i=vu81DjnS";
$p->parseFromURL($url);
echo $p->fsArrayColNames;
preferences:
46.28 ms | 402 KiB | 5 Q