Réduction de l'image avant enregistrement

Répondre
coringan
le 02/06/2011 à 06:21
coringan
Bonjour,

J’aimerais réduire la taille d’une image avant de l’enregistrer.
PHP et MySql.
Si quelqu’un peut me venir en aide avec plaisir, merci.
Je fais ce qui me plaît, et ce que je fais me plaît !
LupusMic
le 02/06/2011 à 17:46
LupusMic
Que signifie « enregistrer » pour toi dans ce contexte ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
coringan
le 03/06/2011 à 04:41
coringan
Enregistrer les données dans une base de données et les images déjà réduites dans un dossier comme ce qui suit.

<?php 
$Nom_image = $_FILES['photo']['name'];
$Taille_image = $_FILES["photo"]["size";
$Type_image = $_FILES['photo']['type'];
$Taille_fichier = filesize($_FILES['photo']['tmp_name']);
$Dossier = "Photos/".$Nom_image;
$Fichier = basename($Nom_image);
$Photo = addslashes($Fichier);

copy($_FILES['photo']['tmp_name'], $Dossier);

$sql = 'INSERT INTO Matable VALUES("'.$Nom_image.'", "'.$Taille_image.'", "'.$Type_image.'", "'.$Photo.'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
?>
Je fais ce qui me plaît, et ce que je fais me plaît !
LupusMic
le 03/06/2011 à 12:03
LupusMic
J'ai demandé parce que tu aurais pu penser au contrôle de sélection du fichier ou de soumission du formulaire.

Tout d'abord, il y a deux problèmes de sécurité dans ton script.
Le premier provient du fait que tu fasse confiance au client HTTP qui t'envoie la requête. En effet, $_FILES['photo']['name'] est une information éventuellement fournie par l'utilisateur. Il faut que tu t'assure qu'il n'insère pas de problème de sécurité (un fichier .php par exemple, qui pourrait être interprété sur le serveur).
Le second est lié à une éventuelle SQL Injection. addslashes ne suffit pas pour correctement traiter la donnée externe. Tu dois utiliser la fonction d'échappement relative à la base de données que tu utilise. En l'occurrence, mysql_real_escape_string.

Maintenant, venons en au fond du problème. Pour réduire ton image, tu as plusieurs options qui s'offrent à toi. La plus classique est d'utiliser l'extension de traitement d'images GD.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours