Bonjour,
Je suis en train de développer une application ou il sera possible d'uploader des fichiers sur le serveur Web.
J'ai créé un formulaire qui me permet de demander à l'utilisateur de rentrer un fichier.
Je récupère cette valeur dans une autre page de la façon suivante :
$file = $_FILES['file']['tmp_name'];
Et je lis dans cette même page ce fichier avec :
$content = file_get_contents($file,'r');
Dans cette page j'arrive à détecter quel fichier à été rentré. Et selon le fichier je demande des choses à l'utilisateur de la façon suivante :
lorsque l'utilisateur clique sur continuer, il arrive sur une autre page ou là, je voudrais extraire le contenu du fichier dans une base.
Je récupère donc dans cette troisième page php les valeurs POST de la page précédente :
Et j'aimerais reparcourir le fichier Exel afin de rentrer les valeurs dans une base de la façon suivante :
$content = file_get_contents($file,'r');
$lignes = split("\n", $content);
$handle = fopen($file, "r");
$last_line = 1;
while (($data = fgetcsv($handle, 0, ";")) !== FALSE)
....... (on met les valeurs dans la base) ..............
Le probleme est donc que j'ai les erreurs suivantes :
file_get_content(/tmp/phpPLt30b : failed to open stream : No such file or directory....blablabla fopen(/tmp/phpPLt30b : failed to open stream No such file or directory....blablabla fgetcsv() expect parameter 1 to be resource, boolean given in.... blablabla En gros si je comprend bien, je n'arrive pas à garder une bonne valeur de $_FILES['file']['tmp_name']; au fur et à mesure des valeurs POST de on traitement ??
Est-ce que quelqu'un aurai une idée pour résoudre le probleme : réussir à lire le fichier excel rentré au début (sur 1iere page php) sur la 3ieme page php ?
Normal, le fichier uploadé est temporaire. Il est détruit à la fin du script et tu ne peux donc pas le retrouver lors de la validation de la page suivante.
Il faut que tu le sauvegardes dans un dossier à toi avec un move_uploaded_file. Là, il ne sera pas détruit et tu pourras le retrouver plus tard.