Upload d'image et changement de nom
doddo Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre doddo
- Inscrit le : 22/08/2012
Je cherche comment créer un formulaire d'upload d'image. Et cette fameuse image devrait etre renommée pour prendre le pseudo de la personne connectée...
Voila ce que j'ai pour le moment, mais ... J'ai du mal avec la variable $pseudo... Je sais pas exactement comment la placer...
Citation :
<?php
if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'minecraftskins/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
if( !strstr($type_file, 'png') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $pseudo;
$name_file = $_FILES['fichier']['name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
?>
if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'minecraftskins/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
if( !strstr($type_file, 'png') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $pseudo;
$name_file = $_FILES['fichier']['name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
?>
Merci de votre aide
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
http://www.phpboost.com/forum/topic-12758+recuperation-du-nom-d-utilisateur.php#m117545
babsolune Membre non connecté
-
Administrateur
- Voir le profil du membre babsolune
- Inscrit le : 16/05/2008
- Site internet
- Groupes :
-
Equipe Développement
doddo Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre doddo
- Inscrit le : 22/08/2012
Mais cela étant changé, je ne sais toujours pas ce que j'ai oublié...
Édité par doddo Le 10/09/2012 à 20h59
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
doddo Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre doddo
- Inscrit le : 22/08/2012
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
doddo Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre doddo
- Inscrit le : 22/08/2012
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Si oui, dis moi où est placé ta page php par rapport à la racine de ton site.
doddo Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre doddo
- Inscrit le : 22/08/2012
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Code PHP :
<?php //Définition de là où on se trouve par rapport à PHPBoost define('PATH_TO_ROOT', '..'); //Début du chargement de l'environnement require_once PATH_TO_ROOT . '/kernel/begin.php'; //Titre de la page define('TITLE', 'Titre de ma page'); //Haut de page require_once PATH_TO_ROOT . '/kernel/header.php'; ## Début du contenu de la page ## $name_file = $User->get_attribute('login'); if( isset($_POST['upload']) ) // si formulaire soumis { $content_dir = 'minecraftskins/'; // dossier où sera déplacé le fichier $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); } // on vérifie maintenant l'extension $type_file = $_FILES['fichier']['type']; if( !strstr($type_file, 'png') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') ) { exit("Le fichier n'est pas une image"); } // on copie le fichier dans le dossier de destination $name_file = $_FILES['fichier']['name']; if( !move_uploaded_file($tmp_file, $content_dir . $name_file) ) { exit("Impossible de copier le fichier dans $content_dir"); } echo "Le fichier a bien été uploadé"; } ## Fin du contenu de la page ## //Bas de page require_once PATH_TO_ROOT . '/kernel/footer.php'; ?>
doddo Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre doddo
- Inscrit le : 22/08/2012
Mais il ne prend pas le nom de l'utilisateur Oo Chez moi par exemple, il doit prendre le nom ''doddo'' quand il est téléchargé, et une fois vérifié dans le FTP, il a toujours son nom original :/
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Il faut mettre un autre nom pour ta variable
doddo Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre doddo
- Inscrit le : 22/08/2012
Par contre une derniere question... Comment faire pour que l'extension reste ''.png'' ? :/ J'pensais pas qu'il renommerais totalement en fait :/
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Code PHP :
te retournera l'extension du fichier. strtolower(substr(strrchr($filename, '.'), 1))
Es tu sûr que tu as assez de connaissances en PHP pour faire un script d'upload sécurisé ?
De plus, pourquoi n'utilises pas l'upload déjà présent dans PHPBoost ?
ReidLos
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
