1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| //recuperation des infos sur le fichier upload
$ArrayFile=$_FILES['userfile'];
//stockage des erreurs
$FileErrors=(['envoie'=>'', 'error_upload'=>'','poids_fichier'=>'','extension'=>'','uploaded'=>'','lien'=>'' ]);
if ( $ArrayFile['error']==4){
$FileErrors['envoie']='Aucun fichier transmis';
}else if ( $FileErrors['error']!=0){
$FileErrors['error_upload']= 'Erreur de téléchargement (code '.$ArrayFile['error'].')';
}else{
$FileErrors['envoie'] ='fichier transmis';
$FileErrors['error_upload'] = 'Téléchargement correct (code '.$ArrayFile['error'].')';
//test sur le poids du fichier
if($Arrayfile['size']<=10000000){
$FileErrors['poids_fichier'] ='Le poids du fichier est accepté (<1MO)';
//test de l'extension
$extensions_autorisees=array('csv','CSV');
$extension_upload = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
if(in_array($extension_upload,$extensions_autorisees)){
$FileErrors['extension'] ='extension autorise';
$CheminFile = 'uploads/data_retrievers.csv';
if( move_uploaded_file($ArrayFile['tmp_name'],$CheminFile)){
$FileErrors['uploaded'] ='success';
$FileErrors['lien']=$CheminFile;}else{
$FileErrors['uploaded'] ='Erreur';
}
}else{
$FileErrors['extension'] ='extension non autorise';
}
}else{
$FileErrors['poids_fichier'] ='Le poids du fichier n\'est accepté (>1MO)';
}
}
echo '<pre>';
print_r($FileErrors);
echo '</pre>';
if (!empty($FileErrors['lien'])){
$fileURL = $FileErrors['lien'];
$contents = file_get_contents($fileURL);
$file = fopen($fileURL,'w+');
fputs($file, mb_convert_encoding($contents,'UTF-8','ISO-8859-2'));
fclose($file);
$data = file($fileURL, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);
//echo '<pre>'; print_r($data); echo '</pre>';
$fields=array_shift($data);
$fields=str_replace(";",",",$fields);
$fields=strtolower($fields);
$delimiter = ';';
$null_as = '\\N';
$result = $pdo->pgsqlCopyFromArray('geolis.r_import_territoire', $data, $delimiter, $null_as, $fields);
if ($result==true){ echo 'Importation des données réussies'; }else{ echo 'Echec'; }
} |
Partager