- 
            
      
        
      
    Star
      
          
          (146)
      
  
You must be signed in to star a gist 
- 
              
      
        
      
    Fork
      
          
          (90)
      
  
You must be signed in to fork a gist 
- 
      
- 
        Save robflaherty/1185299 to your computer and use it in GitHub Desktop. 
| <?php | |
| /* | |
| * Converts CSV to JSON | |
| * Example uses Google Spreadsheet CSV feed | |
| * csvToArray function I think I found on php.net | |
| */ | |
| header('Content-type: application/json'); | |
| // Set your CSV feed | |
| $feed = 'https://docs.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0Akse3y5kCOR8dEh6cWRYWDVlWmN0TEdfRkZ3dkkzdGc&single=true&gid=0&output=csv'; | |
| // Arrays we'll use later | |
| $keys = array(); | |
| $newArray = array(); | |
| // Function to convert CSV into associative array | |
| function csvToArray($file, $delimiter) { | |
| if (($handle = fopen($file, 'r')) !== FALSE) { | |
| $i = 0; | |
| while (($lineArray = fgetcsv($handle, 4000, $delimiter, '"')) !== FALSE) { | |
| for ($j = 0; $j < count($lineArray); $j++) { | |
| $arr[$i][$j] = $lineArray[$j]; | |
| } | |
| $i++; | |
| } | |
| fclose($handle); | |
| } | |
| return $arr; | |
| } | |
| // Do it | |
| $data = csvToArray($feed, ','); | |
| // Set number of elements (minus 1 because we shift off the first row) | |
| $count = count($data) - 1; | |
| //Use first row for names | |
| $labels = array_shift($data); | |
| foreach ($labels as $label) { | |
| $keys[] = $label; | |
| } | |
| // Add Ids, just in case we want them later | |
| $keys[] = 'id'; | |
| for ($i = 0; $i < $count; $i++) { | |
| $data[$i][] = $i; | |
| } | |
| // Bring it all together | |
| for ($j = 0; $j < $count; $j++) { | |
| $d = array_combine($keys, $data[$j]); | |
| $newArray[$j] = $d; | |
| } | |
| // Print it out as JSON | |
| echo json_encode($newArray); | |
| ?> | 
Great gist. I took inspiration from this and made a simplified version.
https://gist.github.com/devfaysal/9143ca22afcbf252d521f5bf2bdc6194
Can anyone tell me why I'm getting "/ufeff" in my JOSN array ?
Hi, Can anyone please help me with this problem of:
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'interest-cohort'.
API:
https://bhavin-rb.github.io/math_quiz_1/algebra1_api.json
App:
https://bhavin-rb.github.io/algebra1_quiz/
The quiz app works fine from local host and when I published on Github it gave the above error. I made a json file as API and fetching the API that contains the questions and answer options from Github pages. As I said, locally everything is working fine.
Kindly, assist to resolve this problem. Thank you.
Thanks for this.
Tried using it in Laravel for my seeders with a csv file and ended up needing to move the csvToArray function outside and call it via $this->csvToArray() due to a redeclare issue.