Se connecter avec
S'enregistrer | Connectez-vous

You are not allowed to do this.

probleme formulaire upload PHP

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

merci pour ta réponse mais j'ai déjà activé la base chez free le probleme c'est qu'avec mon formulaire je ne retrouve jamais les fichiers uploadés.

Je vous passe le script au cas ou.

<html>
<body>
<form method="post" enctype="multipart/form-data" action="tessst.php">
<p>
<input type="file" name="fichier" size="33">
<input type="submit" name="upload" value="Uploader">
</p>
</form>
<?php

if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // 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, 'exe') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'jpg') && !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é";
}

?>
</body>
</html>
Expert Programmation

Salut,

As tu des messages d'erreur ou pas ?
Si tu n'en as pas, c'est que tout s'est bien déroulé, essaie d'afficher la valeur de $content_dir.$name_file pour voir où est copié le fichier, ce qui te permettra de le retrouver plus facilement

merci pour ta réponse j'ai réussi (je sais pas trop comment) a faire marcher le script pour uploader une image mais je ne sais pas quoi faire pour pouvoir uploader une chanson en mp3.

j'ai ajouté .mp3 dans $type_file = $_FILES['fichier']['type'] mais rien n'y fait, il m'affiche "Le fichier n'est pas une image", j'ai fait le test avec plusieurs autres extentions mais ca ne marche pas, seules les images peuvent etres uploadées.
Expert Programmation

Salut,

Vu qu'il y a !strstr($type_file, 'exe') ça veut dire que tu dois pouvoir uploader des fichiers .exe... bizarre comme script, car uploader des .exe c'est ce qu'il y a de plus dangereux !
Remplaces exe par mp3 et ça devrait le faire ;) 

c'est ce que j'ai pensé au départ et c'est moi qui ai mis 'exe' à la place de 'jpeg' pour faire un test, j'ai éssayé avec 'zip', 'mp3', 'rar' et d'autre pour faire des tests mais seuls les fichiers images réusissent à passer et si j'éssaye une autre éxtention il annule l'upload et me signal que le fichier n'est pas une image.
bizar...d'autant plus qe dans la plus part des scripts pour formulaires d'upload il y a la variable $MAX_FILE_SIZE qui est absente dans ce formulaire.

He! attention! les script que l'on peut trouver sur le net son parfois non proteger: vu que tu marque dans la page php les donner, il faut y placer un .htaccess, seul probleme c'est que moi ça ne fonctionnais plus, j'avais moi même plus accès...

Donc j'ai plutot utiliser des scripts upload sans bdd (dans un fichiers txt) ça marche pareils et c'est plus securisant.

Tu en trouvera sur comscript ou phpscript si ça t'interesse A+
Lassé par la pub ? Créez un compte
Tom's guide dans le monde