Renommer fichier php
Posté : 29 mars 2011, 10:13
Bonjour,
Je cherche à pouvoir renommer une photo lors de l'upload de celle ci avec un input par exemple
J'ai déja le code pour uploader la photo (il marche trés bien)
Pouvez vous m'aider?
merci
ph38
Je cherche à pouvoir renommer une photo lors de l'upload de celle ci avec un input par exemple
J'ai déja le code pour uploader la photo (il marche trés bien)
Code : Tout sélectionner
// copie du fichier si aucune erreur !
if(!isset($erreurs) or empty($erreurs))
{
$dest_fichier = basename($_FILES['photo']['name']);
$dest_fichier = strtr($dest_fichier, 'ÀÃÂÃÄÅÇÈÉÊËÌÃÃŽÃÒÓÔÕÖÙÚÛÜÃà áâãäåçèéêëìÃîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// un chtit regex pour remplacer tous ce qui n'est ni chiffre ni lettre par "_"
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// pour ne pas ecraser un fichier existant
while(file_exists($dest_dossier . $dest_fichier)) {
$dest_fichier = rand().$dest_fichier;
}
// copie du fichier
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier)) {
$valid[] = "Image uploadé avec succés (<a href='".$dest_dossier . $dest_fichier."'>Voir</a>)";
$erreurs[] = "Impossible d'uploader le fichier.<br />Veuillez vérifier que le dossier ".$dest_dossier." existe avec un chmod 755 (ou 777).";
}
}
}
?>
<form method="POST" action="" enctype="multipart/form-data">
<?php
if(!empty($erreurs)) {
echo '<ul class="erreur">';
foreach($erreurs as $erreur) {
echo '<li>'.$erreur.'</li>';
}
echo '</ul>';
}
if(!empty($valid)) {
echo '<ul class="validation">';
foreach($valid as $text) {
echo '<li>'.$text.'</li>';
}
echo '</ul>';
}
?>
<fieldset>
<legend>Envoi d'image</legend>
<p>
<label for="photo">Image : </label>
<input type="file" name="photo" id="photo" />
<input type="text" name="nomf" value="<?php echo $dest_fichier; ?>" />
</p>
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $taille_max; ?>" />
<input type="submit" name="envoi" value="Envoyer l'image" />
</p>
</fieldset>
</form>merci
ph38