Bonjour,
J'ai besoin d'alimenter une BD de plusieurs dizaines de fichiers.
J'ai entré leurs noms dans un fichier txt que je liste bien avec cette commande :
Code :
$tableau = file('./recup/unites1.txt');
foreach($tableau as $valeur) { echo $valeur.'<br/>'; }
Par contre, quand je veux les charger dans ma base par :
Code :
foreach ($tableau as $file) {
$sql = mysql_query("LOAD DATA LOCAL INFILE '" . $file . "' INTO TABLE ....
Le système me répond que le premier fichier est introuvable.
Auriez-vous une idée?
Merci
Publicité
Posté le 03-03-2016 à 15:10:37
SICKofitALL
misanthrope
Posté le 03-03-2016 à 15:33:48
Ne serait-ce pas une histoire de chemin ?
Genre il fauit que tu précises le chemin dans ton "LOAD DATA..." ?
Attention aussi aux caractères invisibles (retour à la ligne, espaces en trop, ...)
---------------
We deserve everything that's coming...
tapi21
Posté le 03-03-2016 à 15:54:50
Merci de la réponse.
Je suis sur du chemin, mais en effet je pencherai du coté des caractères invisibles.
Aurais-tu une astuce pour être sur qu'il n'y en ai pas dans mon fichier txt ?
SICKofitALL
misanthrope
Posté le 03-03-2016 à 16:30:53
regarde du coté de la fonction trim, mais bon perso j'ai déjà eu un soucis avec ce genre de chargement du coté mysql, et préfixer le nom du fichier par son chemin complet l'avait résolu
---------------
We deserve everything that's coming...
tapi21
Posté le 03-03-2016 à 16:37:32
Trouvé,
Il y avait des retour chariots qui modifiaient le nom du fichier à la fin.
Je les ai supprimé avec cette instruction :
attention je te déconseille d'utiliser mysql_query qui est déprécié et va être supprimé dans la prochaine version (7) de plus en utilisant mysqli a la place il y a une fonction qui existe pour supprimer cela https://secure.php.net/manual/fr/my [...] string.php
Message édité par yoyopouce le 16-03-2016 à 11:04:10