La communauté ALL HTML c'est 58004 membres à ce jour dont 1 inscrits aujourd'hui et 29 depuis une semaine.

  • imprimer
  • aide

Forum de discussions « PHP - SQL »

Retrouvez les publications relatives à ces discussions dans nos rubriques PHP, SQL.

enregistrer une image dans un répertoire

liste des forums liste des discussions Participer à la discussion

Photo de darkmoon1965 Message publié le dimanche 20 avril 2008 à 15 h 44 par darkmoon1965.
Bonjour,

voici mon problème, j'ai un fichier "generejpg.php"
qui m'affiche une image .jpg capturée d'une webcam,
j'aimerai que l'image générée s'enregistre dans le répertoire "images"
de mon site...
donc je fais appel aux pros...(car moi je n'en suis pas un :))
merci d'avance pour vos réponses...
voici mon code :

<?php

function hex2in_digit($num) {
if (($num >= '0') && ($num <= '9'))
return $num;
return ord(strtolower($num)) - ord('a') + 10;
}

function hex2int($num) {
if (strlen($num) == 1) $num = "0" . $num;
return hex2in_digit($num[0])*16 + hex2in_digit($num[1]);
}

function normColor($c) {
$c = floor($c);
if ($c < 0) return 0;
if ($c > 255) return 255;
return $c;
}

$yv = explode(",",$_POST['yv']);
$cb = explode(",",$_POST['cb']);
$cr = explode(",",$_POST['cr']);

//$dir = '/images';
//$name = 'photo.jpg';

$sortie = imagecreatetruecolor(160,120);

$k=0;
for($i=0;$i<120;$i++) {
for($j=0;$j<160;$j++){
$y_value = hex2int($yv[$k]);
//tab[j]=tab with n the width
$index = floor($i/4) * 40 + floor($j/4); //40=160/4
$cb_value = hex2int($cb[$index]);
$cr_value = hex2int($cr[$index]);

$r = normColor(1 * $y_value + 0.0000 * $cb_value + 1.4022 * $cr_value + (1.4022 * -127.5));
$g = normColor(1 * $y_value + -0.3456 * $cb_value + -0.7145 * $cr_value + (-0.3456 * -127.5) + (-0.7145 * -127.5));
$b = normColor(1 * $y_value + 1.7710 * $cb_value + 0.0000 * $cr_value + (1.7710* -127.5));

$pix = imagecolorallocate($sortie, $r, $g, $b);

imagesetpixel($sortie,$j,$i,$pix);
$k++;
}
}


header("Content-type: image/jpeg");
//header("Content-Disposition: attachment; filename=image_name.jpg"); // THIS ONE

imagejpeg($sortie,"",100);

imagedestroy($sortie);
?>
Photo de AdrienVH Message publié le dimanche 20 avril 2008 à 16 h 46 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
Salut !

Il suffirait pas par hasard d'indiquer un filename en deuxieme argument de la fonction imagejpeg() ??

Je me refere à la doc...

bool imagejpeg ( resource image , string filename , int quality )

imagejpeg envoie l'image GD ( image ) au format JPEG sur la sortie standard (typiquement, le navigateur web), ou si filename est fourni, l'envoie dans un fichier. image a été créé par imagecreatetruecolor .

Le nom du fichier est optionnel et, s'il n'est pas fourni, l'image sera transmise directement à la sortie standard. En envoyant un content-type image/jpeg (grâce à la fonction header ), vous pouvez créer des images JPEG avec des scripts PHP.

Adrien
Photo de darkmoon1965 Message publié le dimanche 20 avril 2008 à 20 h 16 par darkmoon1965.
yes merci c'est bien ça...
mais comment faire pour que les images ne "s'écrasent" pas à chaque nouvel envoi ???
c'est à dire que je veux stocker toutes les images...
il faut donc les renomer à chaque fois...

comment ??? merci pour votre aide...
Photo de AdrienVH Message publié le dimanche 20 avril 2008 à 21 h 27 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
Re !

Il faut effectivement les renommer a chaque fois ! Et avec des noms différents... L'astuce ? Insérer la date et l'heure dans le nom pour rendre unique chaque image !

$heure = date('YmdHis'); $nom = $heure.'_capture.jpg'; imagejpeg($sortie,$nom,100);
Voila ce que ca pourrait donner...

La par exemple, si tu fais une capture maintenant le fichier s'appelerait : '20080420211217_capture.jpg'

En esperant que ça marche ;)

Adrien
Photo de darkmoon1965 Message publié le dimanche 20 avril 2008 à 22 h 08 par darkmoon1965.
ok merci ça marche super...
Photo de AdrienVH Message publié le dimanche 20 avril 2008 à 22 h 27 par AdrienVH. L'informatique à portée de tous ! Une douce utopie ? Non... Un principe... /// http://www.adam-photographie.com
Cool !! De rien...

A bientôt !

Adrien

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions