Upload de fichiers dans répertoire spécifique
Fermé
tomy2904
Messages postés
324
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
20 avril 2013
-
19 déc. 2011 à 18:02
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 21 déc. 2011 à 21:24
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 21 déc. 2011 à 21:24
A voir également:
- Upload de fichiers dans répertoire spécifique
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Fichiers bin - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
9 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
19 déc. 2011 à 18:33
19 déc. 2011 à 18:33
petite remarque en passant
utilises le tag <?php au lieu de <? cela t'évitera des soucis en php5
ensuite pour créer ton rep il faut que tu lui donne le chemin relatif par rapport à ton script php
ex: si ton script est dans le rep
/scripts_php/upload_fichiers.php
et que tes rep à creer sont dans
/fichiers_uploades/toto,titi,tata
$chemin_relatif='../fichiers_uploades';
et attention protèges ton $login par htmlentitie($_POST['login'] par exemple
utilises le tag <?php au lieu de <? cela t'évitera des soucis en php5
ensuite pour créer ton rep il faut que tu lui donne le chemin relatif par rapport à ton script php
ex: si ton script est dans le rep
/scripts_php/upload_fichiers.php
et que tes rep à creer sont dans
/fichiers_uploades/toto,titi,tata
$chemin_relatif='../fichiers_uploades';
creer_rep($chemin_relatif.'/'.$login);
et attention protèges ton $login par htmlentitie($_POST['login'] par exemple
tomy2904
Messages postés
324
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
20 avril 2013
29
19 déc. 2011 à 18:43
19 déc. 2011 à 18:43
Merci alain, en fait un répertoire est créé pour chaque login, donc si je m'inscrit avec Tom comme login, un dossier (répertoire) est créé automatiquement avec comme nom "tom" -> php/tom (dans ce cas)
Le prob c'est que ces login changent (si je me connecte avec un autre login le repertoire n'est plus le même) et je ne sais pas quoi mettre dans mon code pour uploader le fichier pour que ce nom de répertoire change par rapport au login...
-> $chemin = "./" ; (que mettre pour remplacer le ./ ?)
Merci!
Le prob c'est que ces login changent (si je me connecte avec un autre login le repertoire n'est plus le même) et je ne sais pas quoi mettre dans mon code pour uploader le fichier pour que ce nom de répertoire change par rapport au login...
-> $chemin = "./" ; (que mettre pour remplacer le ./ ?)
Merci!
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
19 déc. 2011 à 19:19
19 déc. 2011 à 19:19
he bien:
$chemin = "./'.$login
tomy2904
Messages postés
324
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
20 avril 2013
29
19 déc. 2011 à 20:02
19 déc. 2011 à 20:02
Merci, j'ai essayé et j'ai ce message d'erreur :
Notice: Undefined variable: login in php\fileupload.php on line 18
Et la ligne 18 est : $chemin = "./.$login";
Je ne trouve vraiment pas :/ Merci quand même de votre aide!
Ps: le fichier s'upload mais dans le répertoire courant (php/) et non dans le répertoire associé au login...
Notice: Undefined variable: login in php\fileupload.php on line 18
Et la ligne 18 est : $chemin = "./.$login";
Je ne trouve vraiment pas :/ Merci quand même de votre aide!
Ps: le fichier s'upload mais dans le répertoire courant (php/) et non dans le répertoire associé au login...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
19 déc. 2011 à 20:34
19 déc. 2011 à 20:34
$login je pensait que tu l'avait
par
par
$login=$_POST['login'];
tomy2904
Messages postés
324
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
20 avril 2013
29
20 déc. 2011 à 18:34
20 déc. 2011 à 18:34
Tjs le même problème, voici mon code php d'upload :
"<?php
ob_start(); // ***
//on vérifies que le champ est bien rempli:
if(!empty($_FILES["fichier_choisi"]["name"]))
{
//nom du fichier choisi:
$nomFichier = $_FILES["fichier_choisi"]["name"] ;
//nom temporaire sur le serveur:
$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
//type du fichier choisi:
$typeFichier = $_FILES["fichier_choisi"]["type"] ;
//poids en octets du fichier choisit:
$poidsFichier = $_FILES["fichier_choisi"]["size"] ;
//code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["fichier_choisi"]["error"] ;
//chemin qui mène au dossier qui va contenir les fichiers upload:
$login=$_POST['login'];
$chemin = "./$login";
if(copy($nomTemporaire, $chemin.$nomFichier))
{ // Permet d'afficher le message suivant et d'actualiser la page après 5 secondes
echo("<h2><b><br /><br /><br /><br />Upload réussi!!! <br /><br />Vous êtes redirigé automatiquement sur votre espace membre...</b></h2>") ;
header('Refresh: 5; url=membre.php');
ob_flush(); } // ***
else
echo("<br>l'upload a échoué") ;
}//fin if
else
{
echo("Vous n'avez pas choisit de fichier!!<br>") ;
echo("<a href=\"./membre.php\">Retour</a>") ;
}//fin else
?> "
Je ne comprends pas...
"<?php
ob_start(); // ***
//on vérifies que le champ est bien rempli:
if(!empty($_FILES["fichier_choisi"]["name"]))
{
//nom du fichier choisi:
$nomFichier = $_FILES["fichier_choisi"]["name"] ;
//nom temporaire sur le serveur:
$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
//type du fichier choisi:
$typeFichier = $_FILES["fichier_choisi"]["type"] ;
//poids en octets du fichier choisit:
$poidsFichier = $_FILES["fichier_choisi"]["size"] ;
//code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["fichier_choisi"]["error"] ;
//chemin qui mène au dossier qui va contenir les fichiers upload:
$login=$_POST['login'];
$chemin = "./$login";
if(copy($nomTemporaire, $chemin.$nomFichier))
{ // Permet d'afficher le message suivant et d'actualiser la page après 5 secondes
echo("<h2><b><br /><br /><br /><br />Upload réussi!!! <br /><br />Vous êtes redirigé automatiquement sur votre espace membre...</b></h2>") ;
header('Refresh: 5; url=membre.php');
ob_flush(); } // ***
else
echo("<br>l'upload a échoué") ;
}//fin if
else
{
echo("Vous n'avez pas choisit de fichier!!<br>") ;
echo("<a href=\"./membre.php\">Retour</a>") ;
}//fin else
?> "
Je ne comprends pas...
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
20 déc. 2011 à 22:53
20 déc. 2011 à 22:53
il manque une /
$chemin = "./$login";
if(copy($nomTemporaire, $chemin.$nomFichier))
essayes comme ça:
$chemin = "./$login";
if(copy($nomTemporaire, $chemin.$nomFichier))
essayes comme ça:
$chemin = "./".$login."/"; if(move_uploaded_file($nomTemporaire, $chemin.$nomFichier))
tomy2904
Messages postés
324
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
20 avril 2013
29
21 déc. 2011 à 19:20
21 déc. 2011 à 19:20
Ok merci je vais essayer mais petite question: je le mets où le dernier "if" ( if(move_uploaded_file($nomTemporaire, $chemin.$nomFichier)) ) ?
Merci!
Merci!
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 déc. 2011 à 21:24
21 déc. 2011 à 21:24
à la place de if(copy...