Bonjour à tous,
Voilà, j'ai créé une fonction PHP avec la librairie GD. Cette fonction permet d'uploader une image et de la redimensionner.
Je voudrais savoir s'il y a un moyen, autre qu'avec un test sur l'extension, de savoir si un fichier est vraiment un JPG.
Je m'explique, supposons que quelqu'un essaie d'uploader un fichier Word renommé avec l'extension .JPG, y a-t-il moyen de faire traiter ça par le script?
Merci,
Simo
Fonction utilisée :
Code :
function fnUploadResize($fieldName, $destinationDirectory, $imageName, $dWidth, $dHeight)
{
///////// CONSTANTES \\\\\\\\\\\\\
$tmpFilename = $_FILES[$fieldName]['tmp_name'];
$uploadDir = $destinationDirectory;
$uploadFile = $uploadDir . $imageName;
$defaultWidth = $dWidth;
$defaultHeight = $dHeight;
$defaultRatio = $defaultWidth / $defaultHeight;
///////// OBTENIR LES DIMENSIONS DE L'IMAGE UPLOADÉE \\\\\\\\\\\\\
$imgSize = GetImageSize($tmpFilename);
$width = $imgSize[0];
$height = $imgSize[1];
$newRatio = $width / $height;
///////// RECHERCHER LES NOUVELLES DIMENSIONS \\\\\\\\\\\\\
if ($newRatio >= $defaultRatio)
{
$newWidth = $defaultWidth;
$newHeight = round($defaultWidth / $newRatio);
}
else
{
$newWidth = round($defaultHeight * $newRatio);
$newHeight = $defaultHeight;
}
///////// REDIMENSIONNER L'IMAGE \\\\\\\\\\\\\
$imageCanvas = imagecreatetruecolor($newWidth, $newHeight);
$imageContent = imagecreatefromjpeg($tmpFilename);
imagecopyresampled($imageCanvas, $imageContent, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
imagejpeg($imageCanvas, $uploadFile, 75)
}