PHP variable de session et url d'upload
Fermé
JEJEOS
Messages postés
46
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
8 mai 2010
-
30 août 2009 à 21:25
yoshiro Messages postés 497 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 18 avril 2018 - 15 avril 2011 à 20:55
yoshiro Messages postés 497 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 18 avril 2018 - 15 avril 2011 à 20:55
A voir également:
- PHP variable de session et url d'upload
- Lien url - Guide
- Iptv url invalide - Forum Box et Streaming vidéo
- Alert php ✓ - Forum PHP
- Easy php - Télécharger - Divers Web & Internet
12 réponses
Bonjour
J'ai plutôt l'impression que le problème est dans le $_SESSION['login']. Y a-t-il bien un session_start() au début du script ?
As-tu fait un echo $uploadDir; pour vérifier s'il a bien la valeur que tu attends.
J'ai plutôt l'impression que le problème est dans le $_SESSION['login']. Y a-t-il bien un session_start() au début du script ?
As-tu fait un echo $uploadDir; pour vérifier s'il a bien la valeur que tu attends.
JEJEOS
Messages postés
46
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
8 mai 2010
5
31 août 2009 à 18:52
31 août 2009 à 18:52
Bonjour
Merci pour votre réponse !
Oui, j'ai bien fait un echo $uploadDir et j'obtiens la valeur souhaité.
D'ailleurs lorsque je met le nom du dossier dans $uploadDir (et pas une variable), le fichier va dans le dossier indiqué !
C'est a ne rien y comprendre !
Merci pour votre réponse !
Oui, j'ai bien fait un echo $uploadDir et j'obtiens la valeur souhaité.
D'ailleurs lorsque je met le nom du dossier dans $uploadDir (et pas une variable), le fichier va dans le dossier indiqué !
C'est a ne rien y comprendre !
Pardon, je n'avais pas remarqué le session_start().
Mais il est mal placé ! Si le $login=$_SESSION['login']; est AVANT le session_start, il ne peut pas marcher : tu ne peux pas récupérer une variable de session avant d'avoir démarré les sessions !
J'ai beaucoup, beaucoup de mal à croire que le echo $uploadDir te sorte une bonne valeur dans ces conditions.
Mais il est mal placé ! Si le $login=$_SESSION['login']; est AVANT le session_start, il ne peut pas marcher : tu ne peux pas récupérer une variable de session avant d'avoir démarré les sessions !
J'ai beaucoup, beaucoup de mal à croire que le echo $uploadDir te sorte une bonne valeur dans ces conditions.
JEJEOS
Messages postés
46
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
8 mai 2010
5
1 sept. 2009 à 12:43
1 sept. 2009 à 12:43
En fait, effectivement pour avoir la bonne valeur de l'echo j'ai du placer session_start() au dessus de $login=$_SESSION['login'];
Mais sa ne marche toujours pas. (l'upload ne se fait pas dans le dossier souhaité, sauf a le rentré manuellement, c'est à dire mettre $uploadDir = './dossier/'; par exemple).
Voici d'ailleur le "nouveau" code.
Mais sa ne marche toujours pas. (l'upload ne se fait pas dans le dossier souhaité, sauf a le rentré manuellement, c'est à dire mettre $uploadDir = './dossier/'; par exemple).
Voici d'ailleur le "nouveau" code.
<?php session_start(); $login=$_SESSION['login']; $uploadDir = './'.$login.'/'; if (isset($_FILES['Filedata']['name'])) { $uploadFile = $uploadDir . basename($_FILES['Filedata']['name']); move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile); } if (!isset($login)) { header ('Location: index.php'); exit(); } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
JEJEOS
Messages postés
46
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
8 mai 2010
5
1 sept. 2009 à 17:21
1 sept. 2009 à 17:21
Lorsque je fait un echo de $uploadFile, je n'ai rien qui s'affiche !
Encore merci de m'aider ...
Encore merci de m'aider ...
JEJEOS
Messages postés
46
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
8 mai 2010
5
1 sept. 2009 à 18:17
1 sept. 2009 à 18:17
Voici le code complet de ma page, avec l'echo :
<?php session_start(); $login=$_SESSION['login']; $uploadDir = './'.$login.'/'; if (isset($_FILES['Filedata']['name'])) { $uploadFile = $uploadDir . basename($_FILES['Filedata']['name']); move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile); } if (!isset($login)) { header ('Location: index.php'); exit(); } ?> <html> <head> <title>Espace membre</title> </head> <body> Bienvenue <?php echo htmlentities(trim($login)); ?> !<br /> <a href="deconnexion.php">Déconnexion</a> <br> <br> <?php echo $uploadFile; ?> </body> </html>
ton <?php echo $uploadFile; ?> n'a pas grand intérêt là où il est...
il faut le mettre immédiatement après la ligne $uploadFile = $uploadDir . basename($_FILES['Filedata']['name']);
D'autre part, je répète ma question du départ : y a-t-il bien la bonne valeur dans $uploadDir ? (là encore, avec un echo juste après le ligne $uploadDir=...). Car tous les indices vont dans le même sens : ton $uploadDir ne serait pas initialisé, sans doute parce que $_SESSION['login'] est vide.
il faut le mettre immédiatement après la ligne $uploadFile = $uploadDir . basename($_FILES['Filedata']['name']);
D'autre part, je répète ma question du départ : y a-t-il bien la bonne valeur dans $uploadDir ? (là encore, avec un echo juste après le ligne $uploadDir=...). Car tous les indices vont dans le même sens : ton $uploadDir ne serait pas initialisé, sans doute parce que $_SESSION['login'] est vide.
yoshiro
Messages postés
497
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
18 avril 2018
64
11 avril 2011 à 00:17
11 avril 2011 à 00:17
Salut, je sais que ça fait longtemps, mais avez vous réglé votre problème car j'ai le même !!
En fait je ne l'ai pas fait comme je voulais au départ, j'au utiliser un objet PHP, dans le même genre que celui-ci :
http://www.wulab.com/articles/upload-barre-progression.html
http://www.wulab.com/articles/upload-barre-progression.html
yoshiro
Messages postés
497
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
18 avril 2018
64
15 avril 2011 à 20:55
15 avril 2011 à 20:55
oki merci !!