Depuis plusieurs jours, je tente en vain de faire fonctionner un script pour mon forum. Ce script PHP me sert à créer des comptes utilisateurs à partir d’une liste de contacts en CSV que j’actualise tous les jours. Le principe :
- J’upload mon fichier CSV
- Je récupère la liste des contacts de mon fichier CSV et je la compare à celle qui est déjà dans ma base
- Pour chaque nouveau contact dans mon CSV, je créé un compte dans ma table
Je suis conscient que mon script est assez long. Alors pour vous motiver, j’offre un bon Bourgogne :frenchy: (c’est la foire aux vins !) à l’âme charitable qui volera à mon secours
<?php
define('IN_PHPBB', 1);
//
// Let's set the root dir for phpBB
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'includes/functions_selects.'.$phpEx);
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
define('IN_ADMIN', true);
//
// Récupération de la liste
//
$email_liste = array();
$email_bdd = array();
if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = './'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
message_die(GENERAL_ERROR, "Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$extension = strrchr($_FILES['fichier']['name'], '.');
//Ensuite on teste
if(trim($extension) != '.csv')
{
message_die(GENERAL_MESSAGE, 'no_csv');
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
message_die(GENERAL_ERROR, "Impossible de copier le fichier dans $content_dir");
}
//--------------------------------------------------------------------//
// Vérification : est-ce que les mail dans la liste sont dans la bdd //
//-------------------------------------------------------------------//
Dans mon formulaire de résultat :
- j’obtiens le bon nombre dans la variable NOMBRE_DANS_BDD
- mais j’ai 0 pour NOMBRE_LISTE alors que je devrais obtenir 3
- bien sur aucun compte n’a été créé.