chiro-canto/public/src/dump_taxref_into_database.php

48 lines
1.5 KiB
PHP

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// $root = realpath($_SERVER['DOCUMENT_ROOT']);
require("/var/www/chiro-canto/public/database/credentials.php");
// Connect the database
try{
$db = new PDO("mysql:host=$host;dbname=$database;charset=utf8",
$user,
$password,
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
}catch (Exception $e){
die("Error : ".$e->getMessage());
}
if ($file = fopen("/var/www/chiro-canto/public/database/TAXREF14.0_CHIRO.csv", 'r')) {
while($row = fgetcsv($file, 0, ','))
{
// print_r($row);
$kingdom = $row[0];
$phylum = $row[1];
$class = $row[2];
$order = $row[3];
$family = $row[4];
$subfamily = $row[5];
$tribu = $row[6];
$genus = explode(' ', $row[12])[0];
$species = utf8_decode($row[12]);
$req = $db->prepare('INSERT INTO `taxa` (taxon_kingdom, taxon_phylum, taxon_class, taxon_order, taxon_family, taxon_subfamily, taxon_tribu, taxon_genus, taxon_species) VALUES (:kingdom, :phylum, :class, :order, :family, :subfamily, :tribu, :genus, :species)');
$req->execute(array(
"kingdom"=>$kingdom,
"phylum"=>$phylum,
"class"=>$class,
"order"=>$order,
"family"=>$family,
"subfamily"=>$subfamily,
"tribu"=>$subfamily,
"genus"=>$genus,
"species"=>$species
));
}
} else {
echo "Cannot open file";
}