Importation de donnée *.cvs
Résolu/Fermé
poparnassus
Messages postés
426
Date d'inscription
vendredi 28 mars 2014
Statut
Membre
Dernière intervention
25 décembre 2019
-
Modifié le 8 avril 2017 à 19:54
poparnassus Messages postés 426 Date d'inscription vendredi 28 mars 2014 Statut Membre Dernière intervention 25 décembre 2019 - 9 avril 2017 à 17:55
poparnassus Messages postés 426 Date d'inscription vendredi 28 mars 2014 Statut Membre Dernière intervention 25 décembre 2019 - 9 avril 2017 à 17:55
A voir également:
- Importation de donnée *.cvs
- Logiciel de recuperation de donnée - Guide
- Reinstaller windows sans perte de données - Guide
- Effacer les données de navigation - Guide
- Base de donnée vide tnt ✓ - Forum TNT / Satellite / Réception
- Impossible d'accéder au fichier de données outlook ✓ - Forum Mail
2 réponses
yg_be
Messages postés
23196
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 septembre 2024
Ambassadeur
1 534
8 avril 2017 à 20:47
8 avril 2017 à 20:47
bonsoir, c'est la localisation du fichier (/volume1/homes/.../tuto.csv) qui pose problème.
peux-tu mettre le fichier à importer au même endroit que tes scripts php?
peux-tu mettre le fichier à importer au même endroit que tes scripts php?
poparnassus
Messages postés
426
Date d'inscription
vendredi 28 mars 2014
Statut
Membre
Dernière intervention
25 décembre 2019
30
Modifié le 9 avril 2017 à 00:03
Modifié le 9 avril 2017 à 00:03
Bon j'ai trouver un site qui dit ceci:
le sitte == https://www.infomaniak.com/fr/support/faq/1312/mysql-fonction-load-data-local-infile
Pour lutter contre les actes de malveillances et continuer à protéger autant que possible les données de nos clients, nous avons désactivé la fonction "LOAD DATA LOCAL INFILE".
Ne sont pas concernées par cette modification les personnes important leurs fichiers CSV (à condition de ne pas cocher "CSV via LOAD DATA") via phpMyAdmin.
La fonction "LOAD DATA LOCAL INFILE" permet d'importer un fichier CSV dans une table MySQL et est malheureusement désormais fréquemment utilisée par les pirates pour obtenir l'accès à certains sites hébergés sur des machines acceptant cette fonction.
Nous fournissons bien entendu une alternative pour continuer à importer des données au format CSV dans une table MySQL. Ci-dessous, un exemple en quelques lignes PHP faciles à implémenter dans votre script PHP ou créez simplement un nouveau fichier PHP dans votre répertoire /web:
le sitte == https://www.infomaniak.com/fr/support/faq/1312/mysql-fonction-load-data-local-infile
Pour lutter contre les actes de malveillances et continuer à protéger autant que possible les données de nos clients, nous avons désactivé la fonction "LOAD DATA LOCAL INFILE".
Ne sont pas concernées par cette modification les personnes important leurs fichiers CSV (à condition de ne pas cocher "CSV via LOAD DATA") via phpMyAdmin.
La fonction "LOAD DATA LOCAL INFILE" permet d'importer un fichier CSV dans une table MySQL et est malheureusement désormais fréquemment utilisée par les pirates pour obtenir l'accès à certains sites hébergés sur des machines acceptant cette fonction.
Nous fournissons bien entendu une alternative pour continuer à importer des données au format CSV dans une table MySQL. Ci-dessous, un exemple en quelques lignes PHP faciles à implémenter dans votre script PHP ou créez simplement un nouveau fichier PHP dans votre répertoire /web:
<?
// Le code proposé ci-dessus ne l'est qu'à titre d'exemple pour que vous puissiez
// comprendre comment remplacer cette fonction, libre à vous de développer
// votre propre moyen plus efficace pour insérer des données.
$NomDuFichier = "data.csv";
// ouverture du fichier csv en lecture
$handle = fopen($NomDuFichier, "r");
if ($handle) {
// decomposition de chaque ligne du fichier csv
while (($data = fgetcsv($handle, 1000, ";", """)) !== FALSE) {
$num = count($data)-1;
// generation de la requete SQL
$query = "INSERT INTO `test` VALUES (";
for ($c=0; $c < $num; $c++) {
$query .= "'" . mysql_real_escape_string($data[$c]) ."',";
}
$query .= "'" . mysql_real_escape_string($data[$num]) ."')";
// insertion de la ligne dans la base MySQL
mysql_query($query, $link) or die (mysql_error());
$query = NULL;
}
// fermeture du fichier csv
fclose($handle);
} else {
echo "<p>Erreur: impossible d'ouvrir le fichier.</p>\n";
exit(1);
}
?>
8 avril 2017 à 20:54
avec ses acces là (jai suivi un tuto)
localhost
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, CREATE TEMPORARY TABLES
erreur toujours presente
Modifié le 8 avril 2017 à 23:55
J'ai essayer plein de repertoire toujour la meme errerur
/home = erreur
/home/www = erreur
/homes/Mon_user = erreur
/homes/Mon_user/www = erreur
/web = erreur
/web/Mon_site = erreur
/web/Mon_site/php erreur
le fichier user_setting.ini
open_basedir = /tmp:/var/services/tmp:/var/services/web:/var/services/homes
Je comprends pas ...
Par contre si je limporte depuis linterface phpmyadmin ca marche, mais etant doner que je vais devoir importer une base qui fait des million de ligne je dois passer par la console
9 avril 2017 à 10:30
/tmp
/var/services/tmp
/var/services/web
/var/services/homes
9 avril 2017 à 17:55