| Auteur |
Message |
Neurone isolé
Messages: 1
Tutoriaux : 0
|
Posté le:
Mar 26 Aoû 2008 12:46 Sujet : PHP changer nom de fichier automatique, interdire d'autre fichier |
  |
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. |
|
|
   |
 |
Carte Mère
Messages: 661
Tutoriaux : 4
|
Posté le:
Mer 27 Aoû 2008 13:43 Sujet : PHP changer nom de fichier automatique, interdire d'autre fichier |
  |
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...  |
|
|
    |
 |
|
|
|
|
| |