Script PHP pour convertir des fichiers dbase en csv
Fermé
Salut à tous,
Dans le cadre de la création d'un site web, je dois convertir des fichiers dbase en csv afin de les importer dans woocommerce de wordpress, je suis malheureusement perdu pour faire cela, car ça dois ce faire une fois par jour de manière automatique, si quelqu'un a une idée je suis preneur :)
Merci par avance!
Dans le cadre de la création d'un site web, je dois convertir des fichiers dbase en csv afin de les importer dans woocommerce de wordpress, je suis malheureusement perdu pour faire cela, car ça dois ce faire une fois par jour de manière automatique, si quelqu'un a une idée je suis preneur :)
Merci par avance!
A voir également:
- Script PHP pour convertir des fichiers dbase en csv
- Script vidéo youtube - Guide
- Renommer des fichiers en masse - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir youtube en mp3 avec audacity - Guide
- Convertir epub en kindle - Guide
3 réponses
Utilisateur anonyme
21 mai 2016 à 00:33
21 mai 2016 à 00:33
Bonjour
Ne te contente pas d'un script qui écrit des champs séparés par des ";", car le csv n'est pas aussi simple que ça. Adapte (en fait, simplifie) le code de nicelife90 pour utiliser la fonction fputcsv qui est faite pour ça.
Ne te contente pas d'un script qui écrit des champs séparés par des ";", car le csv n'est pas aussi simple que ça. Adapte (en fait, simplifie) le code de nicelife90 pour utiliser la fonction fputcsv qui est faite pour ça.
nicelife90
Messages postés
615
Date d'inscription
vendredi 24 septembre 2010
Statut
Membre
Dernière intervention
10 avril 2018
151
20 mai 2016 à 22:47
20 mai 2016 à 22:47
Bonjour,
Peut être quelque chose du genre :
Peut être quelque chose du genre :
set_time_limit( 24192000 ); ini_set( 'memory_limit', '-1' ); $files = glob( '/path/to/*.DBF' ); foreach( $files as $file ) { echo "Processing: $file\n"; $fileParts = explode( '/', $file ); $endPart = $fileParts[key( array_slice( $fileParts, -1, 1, true ) )]; $csvFile = preg_replace( '~\.[a-z]+$~i', '.csv', $endPart ); if( !$dbf = dbase_open( $file, 0 ) ) die( "Could not connect to: $file" ); $num_rec = dbase_numrecords( $dbf ); $num_fields = dbase_numfields( $dbf ); $fields = array(); $out = ''; for( $i = 1; $i <= $num_rec; $i++ ) { $row = @dbase_get_record_with_names( $dbf, $i ); $firstKey = key( array_slice( $row, 0, 1, true ) ); foreach( $row as $key => $val ) { if( $key == 'deleted' ) continue; if( $firstKey != $key ) $out .= ';'; $out .= trim( $val ); } $out .= "\n"; } file_put_contents( $csvFile, $out ); }