Je suis en train de monter une petite application PHP/MySql de gestion de mes PC (marque, modèle, numéro de série... etc etc).
J'ai un logiciel qui me récupère les infos des postes lors de leur audit vers, au choix, un fichier txt, xls ou mdb.
Au début, n'ayant pas encore touché à PHP/MySql, je faisais un mdb comme ça je pouvais faire deux ou trois requêtes dans access.
Maintenant que j'ai mes jolis tableaux php, j'exporte vers un fichier txt (mais considérons le comme un csv car mes champs sont entourés de doubles quotes et séparés par des virgules).
Je souhaiterai importer mon fichier txt vers ma base MySql via PHP mais en sachant :
1 - Je n'ai pas trouvé comment indiquer à mon script que les enregistrements de la première ligne de mon fichier txt sont les noms des champs (qui sont identiques dans ma base de données).
---> J'aimerai me servir de cette première ligne pour vérifier que le fichier est bien cohérent avec ce qu'on attend de lui : le fichier possède-t-il bien les champs dans sa première ligne...
2 - Sachant que je peux auditer plusieurs fois une même machine, il me faudrait mettre à jour l'enregistrement existant plutôt que de me retrouvé avec des doublons.
---> A cet égard, j'ai un champ immuable : l'adresse MAC de la machine.
Nota :
J'ai bien vu l’existence de "LOAD DATA INFILE" qui semble être le plus performant mais comme je souhaite faire des traitements sur les enregistrements avant de les enregistrer en BDD, je ne suis pas certain que ce soit le plus approprié.
Par exemple, certains postes me remontent "HP" plutôt que "Hewlett-Packard" ou "Micro-Star Inc" plutôt que "MSI"...
Nota 2 :
J'ai déjà le script d'envoi du document et je pense me servir des variables $path et $file lors de l'appel de la fonction.
Je n'ai pas besoin d'une énorme sécurité mais tout de même de m'assurer que le fichier n'est pas un autre csv...
Toute aide ou commentaire est bien évidemment accepté
Letoine