Eléphant du PHP |
91 Messages
07 janv. 2021, 18:33
Bonjour,
Pour renommer le fichier j'ai essayé avec preg_replace, pour les espaces ça fonctionne mais pas pour les lettres accentuées.
<?php
$dossier = '/upload/';
$<?php
$dossier = '/upload/';
$image = basename($_FILES['image']['name']);
$taille_maxi = 1024 * 1024;
$taille = filesize($_FILES['image']['tmp_name']);
$extensions = array('.jpg', '.jpeg');
$extension = strrchr($_FILES['image']['name'], '.');
if(!in_array($extension, $extensions))
{
echo '<p class="erreur">L'image doit être au format jpg ou jpeg</p>';
}
if($taille>$taille_maxi)
{
echo '<p class="erreur">Le poids de la vignette dépasse 1 Mo</p>';
}
if(!isset($erreur))
{
$image = strtr($vignette,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$image = preg_replace('/([^.a-z0-9]+)/i', '-', $image);
if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $image))
{
}
else
{
echo '<p class="erreur">Echec de transfert de l'image !</p>';
}
}
else
{
echo $erreur;
}
?>