Envoi de fichier sur serveur

Résolu/Fermé
catstrike Messages postés 210 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 30 novembre 2012 - 2 févr. 2009 à 10:16
catstrike Messages postés 210 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 30 novembre 2012 - 5 févr. 2009 à 03:26
Bonjour,
Je vous explique mon probléme il est simple je cherche à envoyer des fichiers sur mon serveur jsuqu'a la rien de difficile les 80% du boulot se passe bien j'ai un fichier admin.php sur mon serveur avec ce bout de code la :
<form name="formulaire_envoi_fichier" enctype="multipart/form-data" method="post" action="./upload.php">
<input type="file" name="fichier_choisi"><br />

<br>
<br>
<input type="submit" name="bouton_submit" value="Envoyer le fichier">
</form>

qui envoi comme vous pouvez le constatez sur un fichier upload.php qui contien ce bout de code la :
<?php
//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 uplaod:
$chemin = "./albums/" ;

if(copy($nomTemporaire, $chemin.$nomFichier))
echo("<br>l'upload a réussi") ;
else
echo("<br>l'upload a échoué") ;
}//fin if
else
{
echo("Vous n'avez pas choisit de fichier!!<br>") ;
echo("<a href=\"./choix_fichier.html\">Retour</a>") ;
}//fin else

j'usqu'ici aucun probléme le fichier s'envoi pas de soucil.
Vous me direz pourquoi je vous ennui ben c'est simple je souhaiterai que lors de l'envoi mon fichier soi renomé mais pas n'importe comment je souhaiterai qu'il s'incrémine sur les autres fichiers présent à la racine du dossier albums. Et tout cela numériquement si possible. lol j'en demande hein....
En gros quelque soit le nom de mon fichier je voudrais qu'il prenne pour nom une fois envoyé 5, 6,7 etc.....
esce possible ?
j'ai déjà remarqué que en fesant ceci :
$chemin = "./albums/5" ;
un 5 se met u début du nom du fichier par exemple si mon fichier c paysage.jpeg une fois envoyé sa deviendra 5paysage.jpeg pas vraiment ce que je recherche et si derriére j'envoi chat.jpeg ben sa sera aussi 5chat.jpeg vous voyez alors que j'aimerai que paysage.jpeg devienne 5.jpeg et chat.jpeg -> 6.jpeg etc....
Merci d'une aide éventuelle.
A voir également:

7 réponses

catstrike Messages postés 210 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 30 novembre 2012 7
2 févr. 2009 à 11:20
//EDIT
Petit à petit l'oiseau fait son nid comme on dit lol
j'arive maintenant à renomé le fichier grace à l'ajout d'un compteur mais au passage le fichier perd son extention arf lol. j'ai rajouté ceci :
$tesvaleursretournees = "";
$compteur="";
$fd=opendir("./albums/Photos/slides/");
while ($fic=readdir($fd))
{
if (($fic!=".")&&($fic!=".."))
{
$tesvaleursretournees .= $fic . "&";
}
$compteur +=1;
}
closedir($fd);
$compteur =$compteur - 1;
//on vérifies que le champ est bien rempli:
if(!empty($_FILES["fichier_choisi"]["name"]))
{
//nom du fichier choisi:
$nomFichier = $compteur = $compteur++; ETC...
Comment faire pour ne pas perdre la précieuse extention au passage ? merci
0
Utilisateur anonyme
2 févr. 2009 à 17:06
tu la mets dans un fichier
0
catstrike Messages postés 210 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 30 novembre 2012 7
3 févr. 2009 à 01:16
désolé je comprend pas.
Je met quoi dans un fichier ?
0
tu peux essayer la chose suivante en modifiant un peu ton chemin et en améliorant légèrement le compteur :

//vérifie le nom du dernier fichier
$num_fichier=1;
$chemin_upload="./albums/";
$fichier= $chemin.$num_fichier.".jpg" ;

while(file_exists($fichier)){
$num_fichier++;
}

//chemin qui mène au dossier qui va contenir les fichiers uplaod:
$chemin = "./albums/".$num_fichier.".jpg" ; 


normalement, ca rajoute l'extension a ton chemin, tout en verifiant qu'on prends pas la place d'un fichier déjà existant.

cordialement,
vaeylon
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
3 févr. 2009 à 09:10
tu stockes $compteur dans un fichier
ou tu prends la solution de relire les fichiers existants comme dans le post precedant
0
catstrike Messages postés 210 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 30 novembre 2012 7
3 févr. 2009 à 18:50
merci je vais essayé sa je vous tien au courant
0
catstrike Messages postés 210 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 30 novembre 2012 7
5 févr. 2009 à 03:26
Vous étes des dieux sa marche. voici donc aprés mixage des méthodes celle qui marche :
<?php
$tesvaleursretournees = "";
$compteur="";
$fd=opendir("./albums/Photos/slides/");
while ($fic=readdir($fd))
{
if (($fic!=".")&&($fic!=".."))
{
$tesvaleursretournees .= $fic . "&";
}
$compteur +=1;
}
closedir($fd);
$compteur =$compteur - 1;
$compteur = $compteur++;
//on vérifies que le champ est bien rempli:
if(!empty($_FILES["fichier_choisi"]["name"]))
{
//nom du fichier choisi:
$nomFichier = $compteur++ ;
//nom temporaire sur le serveur:
$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
//type du fichier choisi:
$typeFichier = $_FILES["fichier_choisi"]["type"];
if( !strstr($typeFichier, 'jpg') && !strstr($typeFichier, 'jpeg') && !strstr($typeFichier, 'bmp') )
{
exit("Le fichier n'est pas une image");
};
//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 uplaod:
$chemin = "./albums/Photos/slides/".$nomFichier.".jpg" ;
if(copy($nomTemporaire, $chemin))
echo("<br>l'upload a réussi") ;
else
echo("<br>l'upload a échoué") ;

}//fin if
else
{
echo("Vous n'avez pas choisit de fichier!!<br>") ;
echo("<a href=\"./choix_fichier.html\">Retour</a>") ;
}//fin else
0