Ajout de fichiers + miniatures
Posté : 18 janv. 2013, 11:12
Bonjour à tous,
Pour la gestion d'un site d'administration, j'ai mis en place un système d'envoi de fichiers.
Ce que j'aimerais faire: permettre à l'utilisateur d'envoyer des images et de petites vidéos.
J'ai donc mis en place un formulaire, et ceci pour la gestion de fichiers:
Ce formulaire fonctionne, et envoi bien mes fichiers dans ma base de données.
Voici la fonction qui gère cela:
Comme vous pouvez le voir, j'ai tenté de faire une vérification sur l’extension du fichier: cela ne marche pas, si j’envoie un fichier png, il entre le fichier dans la base de données, mais m'indique tout de même le echo "Le fichier que vous tentez d'envoyer n'est pas au bon format".
J'aurais également souhaité mettre en place une vérification de la taille du fichier, mais je ne sais pas comment je dois faire. Le champ caché suffit-il?
Autre question: sous mon formulaire, j'ai crée un tableau qui reprend les différentes données de la DB. Pour ce qui est des médias, le chemin s'affiche (j'ai par exemple image1.jpg), ce que je voudrais: afficher une vignette de ce média.
J'ai recherché sur le net, dans divers bouquins de PHP, mais je suis perdue.
Quelqu'un peut-il m'aiguiller au mieux svp, afin que je comprenne comme tout cela fonctionne?
D'avance merci à vous!
Pour la gestion d'un site d'administration, j'ai mis en place un système d'envoi de fichiers.
Ce que j'aimerais faire: permettre à l'utilisateur d'envoyer des images et de petites vidéos.
J'ai donc mis en place un formulaire, et ceci pour la gestion de fichiers:
<p><label for="mediaArticle">Médias:</label><input type="file" name="mediaArticle" id="mediaArticle" value="<?php if(isset($_GET["show"])) {echo $tiroir->media;} ?>"/></p>
<input type="hidden" name="MAX_FILE_SIZE" value="15728640" >
NB: le enctype est bien présent.Ce formulaire fonctionne, et envoi bien mes fichiers dans ma base de données.
Voici la fonction qui gère cela:
function uploadArticle(){
$tempName = $_FILES["mediaArticle"]["tmp_name"];
$name = $_FILES["mediaArticle"]["name"];
$destination= "uploads/$name";
$extensions = array("uploads/jpeg","uploads/png","uploads/gif","uploads/jpg","uplaods/avi","uploads/mp4");
if(in_array($_FILES["mediaArticle"]["type"],$extensions)){
move_uploaded_file($tempName, $destination);
}
else{
echo "Le fichier que vous tentez d'envoyer n'est pas au bon format";
}
}
Premier soucis:Comme vous pouvez le voir, j'ai tenté de faire une vérification sur l’extension du fichier: cela ne marche pas, si j’envoie un fichier png, il entre le fichier dans la base de données, mais m'indique tout de même le echo "Le fichier que vous tentez d'envoyer n'est pas au bon format".
J'aurais également souhaité mettre en place une vérification de la taille du fichier, mais je ne sais pas comment je dois faire. Le champ caché suffit-il?
Autre question: sous mon formulaire, j'ai crée un tableau qui reprend les différentes données de la DB. Pour ce qui est des médias, le chemin s'affiche (j'ai par exemple image1.jpg), ce que je voudrais: afficher une vignette de ce média.
J'ai recherché sur le net, dans divers bouquins de PHP, mais je suis perdue.
Quelqu'un peut-il m'aiguiller au mieux svp, afin que je comprenne comme tout cela fonctionne?
D'avance merci à vous!