
|
Voila il y a quelques temps j'avais réalisé une requête d'insertion automatique à partir d'un fichier spécialement formaté :
$insert = "LOAD DATA LOCAL INFILE '". $fichier ."' ".
              "INTO TABLE " echo $table .
              "FIELDS TERMINATED BY ';' ".
              "LINES TERMINATED BY '\\n'";
Sachant que le nom des fichiers contient le nom de la table mais il faut que j'enlève les 3 premiers caractères ainsi que les 4 derniers (extension), et comme ces fichiers sont tous dans un dossier particulier, au lieu de charger ma page, j'aimerai transformer cette fonction :
function insertion($fichier)
{
/* Création de la requête SQL */
$insert = "LOAD DATA LOCAL INFILE '". $fichier ."' ".
          "INTO TABLE " echo $table .
          "FIELDS TERMINATED BY ';' ".
          "LINES TERMINATED BY '\\n'";
           Â
/* Connexion à MySQL : en cas d'erreur, le script sera arrêté en affichant le message d'erreur */
$connexion = mysql_connect($serveur_mysql, $utilisateur_mysql, $mot_de_passe_mysql)
    or die ("Erreur lors de la connexion.<br />\nMySQL a retourné : ". mysql_error());
    Â
    Â
/* Sélection du schéma dans lequel sera exécuté la requête. En cas d'erreur, le script sera arrêté en affichant le message d'erreur */
mysql_select_db($nom_de_la_base, $connexion)
    or die ("Erreur lors de la connexion.<br />\nMySQL a retourné : ". mysql_error());
/* Exécution de la requête SQL. En cas d'erreur, le script sera arrêté en affichant le message d'erreur */
mysql_query($insert, $connexion)
    or die("Erreur lors de l'exécution de la requête.<br />\nRequête : ". $insert ."<br />\nMessage d'erreur : ". mysql_error());
/* Si on arrive ici, c'est que tout s'est bien déroulé : on affiche le message de réussite */
echo "<p>Insertion des produits à partir des données du fichier ". $fichier ." réussie</p>\n";
/* Et on referme la connexion au serveur MySQL */
mysql_close($connexion);
}
Je pensait créer une autre fonction qui appelle cette dernière dans laquelle je récupère les fichiers, je leur enlève les caractères qui sont en trop, et j'appelle ma fonction en passant à paramètre mon nom de fichier et le nom de la table, mais quelle fonction de php peut me permettre d'enlever les carractères, et comment parcourir le dossier où sont placés mes fichiers, c'est à dire les prendre quelque soit le nombre de fichiers placés dans ce dossier sachant qu'il n'y aura pas deux fois le même fichier. -- Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
 |