Accueil Forum Tutoriaux Contactez nous
Forum informatique
Aidoforum.com  •  RSS  •  Chat  •  Annuaire  •  Demander de l'aide  •  Tutoriaux  •  Rechercher   •  S'inscrire  •  Profil  •  Non identifié  •  Connexion

Soutenez Aidoforum

Inscrivez vous pour découvrir les nombreux avantages des membres ! La publicité disparaîtra, et l'inscription est gratuite !
 

PHP changer nom de fichier automatique, interdire d'autre fichier

    ( Recommander ce sujet )

Créer un nouveau fil de discussion dans la même catégorie
Répondre au sujet
Auteur Message

lesondins

Neurone isolé
Neurone isolé


Avatar non sélectionné


Messages: 1
Tutoriaux : 0

MessagePosté le: Mar 26 Aoû 2008 12:46    Sujet : PHP changer nom de fichier automatique, interdire d'autre fichier Répondre en citantRevenir en haut Alerter les modérateurs

Bonjour, je souhaiterais pouvoir changer le nom de l'image envoyé en fonction de l'heure et du peudonyme de la personne (demandé une page avant) automatiquement par PHP biensur, et n'accepter que les format d'image (jpg, jpeg, gif, png) ainsi que d'interdire de l'écriture php et html fans la zone "textarea commentaire"
Comment puis-je faire s'il vous plait, ma première page étant :
Code:
<form enctype="multipart/form-data" action="uploader.php" method="POST">
   <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
   cliquez ici pour choisir votre image: <input name="userfile" type="file" /><br />
   Essayez de rennomer votre fichier et de l'apeller de votre pseudonyme, ex : "Pseudo1.jpg" Merci par avance pour cette manipulation.<br /><br />   
<?php
?>
Ecrivez votre message ici : <br /><TEXTAREA rows="4" Cols="70" name="commentaires">
</TEXTAREA>
<br /> <br />
 <input type="submit" value="Upload l'image" />


Qui envoi ver cette page, pour accepeter le fichier, et dire que tout est bon :
Code:
<?php
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Le fichier est valide, et a été téléchargé
           avec succès. Voici plus d'informations :\n";
} else {
    echo "Attaque potentielle du téléchargement de fichiers.
          Voici plus d'informations :\n";
}
$uploadfile=str_replace ( ".jpg", "", $uploadfile ).'.txt';
$handle = fopen($uploadfile, 'w');
fwrite($handle, $_POST ['commentaires']);
fclose($handle);
?>


j'arrive bien a le faire fonctionner, mais n'importe quel format peut être rentré, ainsi que du code HTML (pas très securisé), j'aimerai aussi si possible changer le nom du fichier en fonction de l'heure et de son pseudonyme demandé une page auparavant


Merci beaucoup d'avance pour l'aide que vous pourrez me fournir, car je sais, j'en demande un pe trop certainement.
Configuration système deVoir le profil de l'utilisateurEnvoyer un message privé

cadav0r

Carte Mère
Carte Mère




Messages: 661
Tutoriaux : 4

MessagePosté le: Mer 27 Aoû 2008 13:43    Sujet : PHP changer nom de fichier automatique, interdire d'autre fichier Répondre en citantRevenir en haut Alerter les modérateurs

Voila pour ta première page :
Code:
<form enctype="multipart/form-data" action="uploader.php" method="POST">
   cliquez ici pour choisir votre image: <input name="userfile" type="file" /><br /><br />
Votre pseudo : <input type="text" name="pseudo" size="51" maxlenght="50">
<br /><br />   
Ecrivez votre message ici : <br /><TEXTAREA rows="4" cols="70" name="commentaires"></TEXTAREA>
<br /> <br />
<input type="hidden" name="MAX_FILE_SIZE" value="300000" />
<input type="submit" value="Upload l'image" />


Voila pour la seconde :
Code:
<?php

$uploaddir = 'uploads/';
$uploadname = $_FILES['userfile']['name'];
$uploadext = $_FILES['userfile']['type'];
$uploadsize = $_FILES['userfile']['size'];
$uploadtemp = $_FILES['userfile']['tmp_name'];
$time = time();
$pseudo = $_POST['pseudo'];   // Application du filtrage ici
$uploadfile = $uploaddir . $time ."-". $pseudo .".". $_FILES['userfile']['type'];   // Format : upload/1111168468-test.gif

$commentfile = $uploaddir . $time ."-". $pseudo .".txt";   // Format : upload/1111168468-test.txt
$comment = $_POST['commentaires'];   // Application du filtrage ici

echo '<pre>';
if ($uploadsize > $_POST['MAX_FILE_SIZE']) { // Vérification de la taille du fichier
   echo "La taille du fichier dépasse la limite de $_POST['MAX_FILE_SIZE'] octets.\n";
} elseif (!strstr($uploadext, 'jpg') && !strstr($uploadext, 'jpeg') && !strstr($uploadext, 'gif') && !strstr($uploadext, 'png'))  { // Vérification de l'extension du fichier
   echo "Le format du fichier n'est pas accepté.\n";
} elseif (!move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { // Vérification de l'upload
   echo "Erreur lors de la copie du fichier.\n";
} else {
   echo "Le fichier est valide, et a été téléchargé avec succès.\n";
}
$handle = fopen($commentfile, 'w');
fwrite($handle, $comment);
fclose($handle);

?>


Je te laisse prendre connaissance du code.
Pour le filtrage html, j'invite à faire une recherche sur la toile afin de trouver des fonctions toutes prêtes qui seront efficaces et complètes car moi je n'en ai pas à te donner.
Je t'invite aussi à faire t'aider du manuel officiel de php : http://www.php.net/manual/fr/

N'hésite pas en cas de problème... Clin d'oeil
Configuration système deVoir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
Montrer les messages depuis:      
Répondre au sujet

 Sauter vers:   




Liens annexes du site :

- Aide et Dépannage Informatique
-
Tutoriaux Informatique
- Définitions Informatiques
- Dossiers Informatiques
- Test Connexion
- Tutoriaux Photoshop
- Tutoriaux PhpBB


Créer un nouveau fil de discussion dans la même catégorie


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com
Forum de Science - Forum informatique