Accueil > > > CLASSE DE TRAITEMENT D'IMAGE
CLASSE DE TRAITEMENT D'IMAGE
Information sur la source
Description
Cette classe permet diverses opérations sur les images. Vous pourrez entre autres : - Redimensionner - Recadrer - Ajouter un logo - Ajoute du texte - Ajout d'effets tels que flou, contrast, luminosité ... - Sauvegarde ou affichage de l'image. Le zip comprend une police pour l'écriture sur image ainsi qu'un fichier d'exemple.
Source
- <?php
- /**
- * Classe ImgTraitement
- *
- * Class De traitement d'image
- * <code>
- * $img = new Imgtraitement('nen.jpg');
- * $img->resize(320,0);
- * $img->save('test2.jpg');
- * </code>
- *
- * @version 1.1.0
- * @author Olivier ROGER <>
- *
- *
- */
-
- class ImgTraitement
- {
-
- /**
- * @access private
- * @var int
- */
- private $width;
-
- /**
- * @var int
- * @access private
- */
- private $height;
-
- /**
- * Type de l image : 1 = gif ; 2 = jpeg; 3= png
- * @var string
- * @access private
- *
- */
- private $type;
-
- /**
- * @var string $mime Type mime de l image
- * @access private
- */
- private $mime;
- /**
- * @var img Fichier image source
- * @access private
- */
- private $source;
-
- private $copie;
-
- /**
- * @var string Police d'ecriture selectionnee. Defaut verdanna.
- * @access private
- */
- private $font;
-
- /**
- * @var ressource Couleur choisi (par defaut bordeau)
- * @access private
- */
- private $couleur;
-
- /**
- * @var ressource autre image a coller sur l image d origine
- * @access private
- */
- private $logo;
- /**
- * @var ressource Largeur du logo
- * @access private
- */
- private $widthL;
- /**
- * @var ressource Hauteur du logo
- * @access private
- */
- private $heightL;
- /**
- * @var ressource Type du logo
- * @access private
- */
- private $typeL;
-
- /**
- * @var array Info de l'image
- * @access private
- */
- private $infoImage;
-
- /**
- * @var int Poids de l'image
- * @access private
- */
- private $poids;
-
- /**
- * Construteur
- */
- public function __construct($img)
- {
- if(!empty($img) && file_exists($img))
- {
- $info = getimagesize($img);
- $this->width = $info[0];
- $this->height = $info[1];
- $this->type = $info[2]; // 1:gif; 2:jpg; 3:png; 4:swf; 5:psd; 6:bmp; 7:tiff
- $this->mime = $info['mime'];
- $this->copie = null;
- $this->source = $this->createFromType($img);
- if($this->source == false)
- {
- echo 'Format d\'image non supporté';
- exit;
- }
- $this->couleur = imagecolorallocate($this->source,187,3,33);
- $this->poids = filesize($img);
- $this->infoImage = array();
- $this->infoImage['extension'] = strchr($img, '.');
- $this->infoImage['extension'] = substr($this->infoImage['extension'], 1); // Récupère l'extension après le .
- $this->infoImage['extension'] = strtolower($this->infoImage['extension']);
- }
- }
-
- /**
- * Récupère les informations de l'image
- * @access public
- * @return array Information de l'image (reso,poids,extension,mime)
- */
- public function getInfo()
- {
- $this->infoImage['width'] = $this->width;
- $this->infoImage['height'] = $this->height;
- $this->infoImage['mime'] = $this->mime;
- $this->infoImage['poids'] = round($this->poids/1024,2);
-
- return $this->infoImage;
-
- }
- /**
- * Ajoute une image en tant que logo
- * @access public
- * @param string chemin vers l'image
- */
- public function addLogo($logo)
- {
- list($this->widthL,$this->heightL,$this->typeL) = getimagesize($logo);
- $this->logo = $this->createFromType($logo);
- imagealphablending($this->logo,TRUE); // Activation de la transparence
- }
-
- /**
- * Ajoute le logo à l'image principale
- * @access public
- * @param string $pos Position du logo : ct(centre),hg(haut gauche),hd,bg(bas gauche),bd(défaut)
- * @param int $opacite % d'opacité du logo , par défaut 75
- * @return bool
- */
- public function mergeLogo($pos='bd',$opacite=75)
- {
- if($pos =='hg')
- {
- $posX = 0;
- $posY = 0;
- }
- elseif($pos=='hd')
- {
- $posX = ($this->width - $this->widthL);
- $posY = 0;
- }
- elseif($pos == 'bg')
- {
- $posX = 0;
- $posY = ($this->height - $this->heightL);
- }
- elseif($pos == 'bd')
- {
- $posX = ($this->width - $this->widthL);
- $posY = ($this->height - $this->heightL);
- }
- elseif($pos == 'ct')
- {
- $posX = (($this->width/2) - ($this->widthL/2));
- $posY = (($this->height/2) - ($this->heightL/2));
- }
-
- if(imagecopymerge($this->source,$this->logo,$posX,$posY,0,0,$this->widthL,$this->heightL,$opacite))
- return true;
- else
- return false;
- }
-
- /**
- * Créer une ressource image selon son type
- * @access protected
- * @param string image
- * @return ressource image
- */
- protected function createFromType($img)
- {
- if($this->type==1)
- $crea = imagecreatefromgif($img);
- elseif($this->type == 2)
- $crea = imagecreatefromjpeg($img);
- elseif($this->type == 3)
- $crea = imagecreatefrompng($img);
- else
- $crea = false;
-
- return $crea;
- }
-
- /**
- * Convertit l'image en niveau de gris. Imagefilter remplace les calcul via matrice. 10x plus rapide
- * @access public
- */
- public function greyScale()
- {
-
- imagefilter($this->source,IMG_FILTER_GRAYSCALE);
- }
-
- /**
- * Ajoute du flou à l'image. Imagefilter remplace les calcul via matrice. 10x plus rapide
- * @access public
- * @param int $factor Facteur de flou
- */
- public function blur($factor)
- {
- imagefilter($this->source,IMG_FILTER_GAUSSIAN_BLUR,$factor);
- }
-
- /**
- * Ajoute du bruit à l'image. (relativement long a executer puisque traitement px par px)
- * @access public
- * @param int $factor paramètre de bruit (0-255)
- * @return bool
- */
- public function addNoise($factor)
- {
-
- for($x=0;$x<$this->width;$x++)
- {
- for($y=0;$y<$this->height;$y++)
- {
- $rand = mt_rand(-$factor,$factor);
- $rgb = imagecolorat($this->source,$x,$y);
- $r = (($rgb>>16)& 0xFF)+$rand;
- $g = (($rgb>>8)& 0xFF)+$rand;
- $b = ($rgb & 0xFF)+$rand;
-
- $color = imagecolorallocate($this->source,$r,$g,$b);
- if(imagesetpixel($this->source,$x,$y,$color))
- return true;
- else
- return false;
- }
- }
- }
-
- /**
- * Netteté
- * @access public
- */
- public function sharppen()
- {
- imagefilter($this->source,IMG_FILTER_MEAN_REMOVAL);
- }
- /**
- * Modifie le contraste de l'image. Imagefilter remplace les calcul via matrice. 10x plus rapide
- * @access public
- * @param int $factor Facteur de flou
- */
- public function contrast($factor)
- {
- imagefilter($this->source,IMG_FILTER_CONTRAST,$factor);
- }
-
- /**
- * Modifie la luminosité. Imagefilter remplace les calcul via matrice. 10x plus rapide
- * @access private
- * @param int $factor Facteur de flou
- */
- public function brightness($factor)
- {
- imagefilter($this->source,IMG_FILTER_BRIGHTNESS,$factor);
- }
-
- /**
- * Créer une copie de l image original pour restauration ulterieur.
- * @access public
- */
- public function duplicate()
- {
- $this->copie = imagecreatetruecolor($this->width,$this->height);
- imagecopy($this->copie,$this->source,0,0,0,0,$this->width,$this->height);
- }
-
- /**
- * Restaure la copie de sauvegarde de l'image
- * @access public
- */
- public function restore()
- {
- $this->source = $this->copie;
- }
-
- /**
- * Permet le changement de police. indiquer le chemin vers le fichier ttf
- * @access public
- * @param string $path Chemin vers la police
- */
- public function setFont($path)
- {
- $this->font = $path;
- }
-
- /**
- * Permet de définir une couleur à utiliser
- * @access public
- * @param int $r composante rouge
- * @param int $v composante verte
- * @param int $b composante bleue
- */
- public function setColor($r,$v,$b)
- {
- $this->couleur = imagecolorallocate($this->source,$r,$v,$b);
- }
-
- /**
- * Ecrit un texte sur l image aux positions données
- * @access public
- * @param string $texte Texte à afficher
- * @param int $size Taille du texte
- * @param int $x Position en X
- * @param int $y Position en Y
- * @param bool $rect Ajout ou non d'un rectangle blanc sous le texte
- */
- public function setText($texte,$size,$x,$y,$rect)
- {
- if($rect)
- {
- $rectText = imageftbbox($size,0,$this->font,$texte); // Retourne les coordoonées du text
- $wText = abs($rectText[4]-$rectText[0]); // Largeur du texte
- $hText = abs($rectText[1]-$rectText[5]); // hauteur du texte
- $this->setColor(255,255,255); // Fond blanc
- imagefilledrectangle($this->source,$x,($y-$hText),($x+$wText+5),($y+5),$this->couleur); //($y-$htext) permet de placer
- // le rectangle au bon endroit
- $this->setColor(0,0,0); // Texte noir
- imagettftext($this->source,$size,0,$x,$y,$this->couleur,$this->font,$texte);
- }
- else
- {
- imagettftext($this->source,$size,0,$x,$y,$this->couleur,$this->font,$texte);
- }
- }
-
- /**
- * Redimensionne l'image. Si une des deux dimension = 0. Redimensionnement proportionnel sur celle donnée
- * @param int $newW Largeur souahitée
- * @param int $newH Hauteur souhaitée
- * @access public
- * @return bool
- */
- public function resize($newW,$newH)
- {
- if($newW == 0) // Largeur non spécifiée donc dimension basé sur hauteur
- {
- $scale = $newH/$this->height;
- $newW = $this->width * $scale;
- }
- elseif($newH == 0) // Hauteur non spécifiée donc dimension basé sur largeur
- {
- $scale = $newW / $this->width;
- $newH = $this->height * $scale;
- }
- $tempImg = imagecreatetruecolor($newW,$newH);
- if(imagecopyresampled($tempImg,$this->source,0,0,0,0,$newW,$newH,$this->width,$this->height))
- {
- $this->source = $tempImg;
- $this->width = $newW;
- $this->height = $newH;
- return true;
- }
- else
- {
- return false;
- }
-
- }
- /**
- * Crop une image aux dimensions voulues et à partir de l'endroit voulu
- *
- * @param int $cropW Largeur de la zone de crop
- * @param int $cropH Hauteur de la zone de crop
- * @param int $cropStartX Coordonnées en X de départ
- * @param int $cropStartY Coordonnées en Y de départ
- * @return bool
- */
- public function crop($cropW,$cropH,$cropStartX,$cropStartY)
- {
- $tempImg = imagecreatetruecolor($cropW,$cropH);
- if(imagecopyresized($tempImg, $this->source, 0, 0, $cropStartX, $cropStartY, $cropW, $cropH, $cropW, $cropH))
- {
- $this->source = $tempImg;
- $this->width = $cropW;
- $this->height = $cropH;
- return true;
- }
- else
- {
- return false;
- }
- }
- /**
- * Sauvegarde l'image sur le disque
- * @access public
- * @param string $file Nom et chemin de fichier
- * @return bool
- */
- public function save($file,$qualite=95)
- {
- if($this->type==1)
- {
- if(imagegif($this->source,$file))
- return true;
- else
- return false;
- }
- elseif($this->type == 2)
- {
- if(imagejpeg($this->source,$file,$qualite))
- return true;
- else
- return false;
- }
- elseif($this->type == 3)
- {
- if(imagepng($this->source,$file))
- return true;
- else
- return false;
- }
- }
-
- /**
- * Affiche l'image sur la sortie standard
- * @access public
- * @return img
- */
- public function display($qualite=100)
- {
- if($this->type==1)
- {
- header("Content-type: image/gif");
- return imagegif($this->source);
- }
- elseif($this->type == 2)
- {
- header("Content-type: image/jpeg");
- return imagejpeg($this->source,'',$qualite);
- }
- elseif($this->type == 3)
- {
- header("Content-type: image/png");
- return imagepng($this->source);
- }
- }
-
- /**
- * Destructeur
- */
- public function __destruct()
- {
- imagedestroy($this->source);
- @imagedestroy($tempImg);
- if($this->copie!=null)
- @imagedestroy($this->copie);
- }
- }
- ?>
<?php
/**
* Classe ImgTraitement
*
* Class De traitement d'image
* <code>
* $img = new Imgtraitement('nen.jpg');
* $img->resize(320,0);
* $img->save('test2.jpg');
* </code>
*
* @version 1.1.0
* @author Olivier ROGER <>
*
*
*/
class ImgTraitement
{
/**
* @access private
* @var int
*/
private $width;
/**
* @var int
* @access private
*/
private $height;
/**
* Type de l image : 1 = gif ; 2 = jpeg; 3= png
* @var string
* @access private
*
*/
private $type;
/**
* @var string $mime Type mime de l image
* @access private
*/
private $mime;
/**
* @var img Fichier image source
* @access private
*/
private $source;
private $copie;
/**
* @var string Police d'ecriture selectionnee. Defaut verdanna.
* @access private
*/
private $font;
/**
* @var ressource Couleur choisi (par defaut bordeau)
* @access private
*/
private $couleur;
/**
* @var ressource autre image a coller sur l image d origine
* @access private
*/
private $logo;
/**
* @var ressource Largeur du logo
* @access private
*/
private $widthL;
/**
* @var ressource Hauteur du logo
* @access private
*/
private $heightL;
/**
* @var ressource Type du logo
* @access private
*/
private $typeL;
/**
* @var array Info de l'image
* @access private
*/
private $infoImage;
/**
* @var int Poids de l'image
* @access private
*/
private $poids;
/**
* Construteur
*/
public function __construct($img)
{
if(!empty($img) && file_exists($img))
{
$info = getimagesize($img);
$this->width = $info[0];
$this->height = $info[1];
$this->type = $info[2]; // 1:gif; 2:jpg; 3:png; 4:swf; 5:psd; 6:bmp; 7:tiff
$this->mime = $info['mime'];
$this->copie = null;
$this->source = $this->createFromType($img);
if($this->source == false)
{
echo 'Format d\'image non supporté';
exit;
}
$this->couleur = imagecolorallocate($this->source,187,3,33);
$this->poids = filesize($img);
$this->infoImage = array();
$this->infoImage['extension'] = strchr($img, '.');
$this->infoImage['extension'] = substr($this->infoImage['extension'], 1); // Récupère l'extension après le .
$this->infoImage['extension'] = strtolower($this->infoImage['extension']);
}
}
/**
* Récupère les informations de l'image
* @access public
* @return array Information de l'image (reso,poids,extension,mime)
*/
public function getInfo()
{
$this->infoImage['width'] = $this->width;
$this->infoImage['height'] = $this->height;
$this->infoImage['mime'] = $this->mime;
$this->infoImage['poids'] = round($this->poids/1024,2);
return $this->infoImage;
}
/**
* Ajoute une image en tant que logo
* @access public
* @param string chemin vers l'image
*/
public function addLogo($logo)
{
list($this->widthL,$this->heightL,$this->typeL) = getimagesize($logo);
$this->logo = $this->createFromType($logo);
imagealphablending($this->logo,TRUE); // Activation de la transparence
}
/**
* Ajoute le logo à l'image principale
* @access public
* @param string $pos Position du logo : ct(centre),hg(haut gauche),hd,bg(bas gauche),bd(défaut)
* @param int $opacite % d'opacité du logo , par défaut 75
* @return bool
*/
public function mergeLogo($pos='bd',$opacite=75)
{
if($pos =='hg')
{
$posX = 0;
$posY = 0;
}
elseif($pos=='hd')
{
$posX = ($this->width - $this->widthL);
$posY = 0;
}
elseif($pos == 'bg')
{
$posX = 0;
$posY = ($this->height - $this->heightL);
}
elseif($pos == 'bd')
{
$posX = ($this->width - $this->widthL);
$posY = ($this->height - $this->heightL);
}
elseif($pos == 'ct')
{
$posX = (($this->width/2) - ($this->widthL/2));
$posY = (($this->height/2) - ($this->heightL/2));
}
if(imagecopymerge($this->source,$this->logo,$posX,$posY,0,0,$this->widthL,$this->heightL,$opacite))
return true;
else
return false;
}
/**
* Créer une ressource image selon son type
* @access protected
* @param string image
* @return ressource image
*/
protected function createFromType($img)
{
if($this->type==1)
$crea = imagecreatefromgif($img);
elseif($this->type == 2)
$crea = imagecreatefromjpeg($img);
elseif($this->type == 3)
$crea = imagecreatefrompng($img);
else
$crea = false;
return $crea;
}
/**
* Convertit l'image en niveau de gris. Imagefilter remplace les calcul via matrice. 10x plus rapide
* @access public
*/
public function greyScale()
{
imagefilter($this->source,IMG_FILTER_GRAYSCALE);
}
/**
* Ajoute du flou à l'image. Imagefilter remplace les calcul via matrice. 10x plus rapide
* @access public
* @param int $factor Facteur de flou
*/
public function blur($factor)
{
imagefilter($this->source,IMG_FILTER_GAUSSIAN_BLUR,$factor);
}
/**
* Ajoute du bruit à l'image. (relativement long a executer puisque traitement px par px)
* @access public
* @param int $factor paramètre de bruit (0-255)
* @return bool
*/
public function addNoise($factor)
{
for($x=0;$x<$this->width;$x++)
{
for($y=0;$y<$this->height;$y++)
{
$rand = mt_rand(-$factor,$factor);
$rgb = imagecolorat($this->source,$x,$y);
$r = (($rgb>>16)& 0xFF)+$rand;
$g = (($rgb>>8)& 0xFF)+$rand;
$b = ($rgb & 0xFF)+$rand;
$color = imagecolorallocate($this->source,$r,$g,$b);
if(imagesetpixel($this->source,$x,$y,$color))
return true;
else
return false;
}
}
}
/**
* Netteté
* @access public
*/
public function sharppen()
{
imagefilter($this->source,IMG_FILTER_MEAN_REMOVAL);
}
/**
* Modifie le contraste de l'image. Imagefilter remplace les calcul via matrice. 10x plus rapide
* @access public
* @param int $factor Facteur de flou
*/
public function contrast($factor)
{
imagefilter($this->source,IMG_FILTER_CONTRAST,$factor);
}
/**
* Modifie la luminosité. Imagefilter remplace les calcul via matrice. 10x plus rapide
* @access private
* @param int $factor Facteur de flou
*/
public function brightness($factor)
{
imagefilter($this->source,IMG_FILTER_BRIGHTNESS,$factor);
}
/**
* Créer une copie de l image original pour restauration ulterieur.
* @access public
*/
public function duplicate()
{
$this->copie = imagecreatetruecolor($this->width,$this->height);
imagecopy($this->copie,$this->source,0,0,0,0,$this->width,$this->height);
}
/**
* Restaure la copie de sauvegarde de l'image
* @access public
*/
public function restore()
{
$this->source = $this->copie;
}
/**
* Permet le changement de police. indiquer le chemin vers le fichier ttf
* @access public
* @param string $path Chemin vers la police
*/
public function setFont($path)
{
$this->font = $path;
}
/**
* Permet de définir une couleur à utiliser
* @access public
* @param int $r composante rouge
* @param int $v composante verte
* @param int $b composante bleue
*/
public function setColor($r,$v,$b)
{
$this->couleur = imagecolorallocate($this->source,$r,$v,$b);
}
/**
* Ecrit un texte sur l image aux positions données
* @access public
* @param string $texte Texte à afficher
* @param int $size Taille du texte
* @param int $x Position en X
* @param int $y Position en Y
* @param bool $rect Ajout ou non d'un rectangle blanc sous le texte
*/
public function setText($texte,$size,$x,$y,$rect)
{
if($rect)
{
$rectText = imageftbbox($size,0,$this->font,$texte); // Retourne les coordoonées du text
$wText = abs($rectText[4]-$rectText[0]); // Largeur du texte
$hText = abs($rectText[1]-$rectText[5]); // hauteur du texte
$this->setColor(255,255,255); // Fond blanc
imagefilledrectangle($this->source,$x,($y-$hText),($x+$wText+5),($y+5),$this->couleur); //($y-$htext) permet de placer
// le rectangle au bon endroit
$this->setColor(0,0,0); // Texte noir
imagettftext($this->source,$size,0,$x,$y,$this->couleur,$this->font,$texte);
}
else
{
imagettftext($this->source,$size,0,$x,$y,$this->couleur,$this->font,$texte);
}
}
/**
* Redimensionne l'image. Si une des deux dimension = 0. Redimensionnement proportionnel sur celle donnée
* @param int $newW Largeur souahitée
* @param int $newH Hauteur souhaitée
* @access public
* @return bool
*/
public function resize($newW,$newH)
{
if($newW == 0) // Largeur non spécifiée donc dimension basé sur hauteur
{
$scale = $newH/$this->height;
$newW = $this->width * $scale;
}
elseif($newH == 0) // Hauteur non spécifiée donc dimension basé sur largeur
{
$scale = $newW / $this->width;
$newH = $this->height * $scale;
}
$tempImg = imagecreatetruecolor($newW,$newH);
if(imagecopyresampled($tempImg,$this->source,0,0,0,0,$newW,$newH,$this->width,$this->height))
{
$this->source = $tempImg;
$this->width = $newW;
$this->height = $newH;
return true;
}
else
{
return false;
}
}
/**
* Crop une image aux dimensions voulues et à partir de l'endroit voulu
*
* @param int $cropW Largeur de la zone de crop
* @param int $cropH Hauteur de la zone de crop
* @param int $cropStartX Coordonnées en X de départ
* @param int $cropStartY Coordonnées en Y de départ
* @return bool
*/
public function crop($cropW,$cropH,$cropStartX,$cropStartY)
{
$tempImg = imagecreatetruecolor($cropW,$cropH);
if(imagecopyresized($tempImg, $this->source, 0, 0, $cropStartX, $cropStartY, $cropW, $cropH, $cropW, $cropH))
{
$this->source = $tempImg;
$this->width = $cropW;
$this->height = $cropH;
return true;
}
else
{
return false;
}
}
/**
* Sauvegarde l'image sur le disque
* @access public
* @param string $file Nom et chemin de fichier
* @return bool
*/
public function save($file,$qualite=95)
{
if($this->type==1)
{
if(imagegif($this->source,$file))
return true;
else
return false;
}
elseif($this->type == 2)
{
if(imagejpeg($this->source,$file,$qualite))
return true;
else
return false;
}
elseif($this->type == 3)
{
if(imagepng($this->source,$file))
return true;
else
return false;
}
}
/**
* Affiche l'image sur la sortie standard
* @access public
* @return img
*/
public function display($qualite=100)
{
if($this->type==1)
{
header("Content-type: image/gif");
return imagegif($this->source);
}
elseif($this->type == 2)
{
header("Content-type: image/jpeg");
return imagejpeg($this->source,'',$qualite);
}
elseif($this->type == 3)
{
header("Content-type: image/png");
return imagepng($this->source);
}
}
/**
* Destructeur
*/
public function __destruct()
{
imagedestroy($this->source);
@imagedestroy($tempImg);
if($this->copie!=null)
@imagedestroy($this->copie);
}
}
?>
Conclusion
Toutes les remarques sont les bienvenues , n'hésitez donc pas à donner voter avis :P
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Redimensionnement image Gif n'est plus animé [ par alex1025 ]
Bonjour,J'ai crée une petite classe pour redimensionner une image gif, elle marche bien cependant mon image gif qui a la base est animée ne l'est plus
Probleme avec un redimensionnement d'image! [ par destiny ]
Lo all,Voila je veut redimensionner un image, est ce qu'il ya une function simple sans passé pas GD2 mais le GD du php 4.2.2?Parceque je ne l'ai
redimensionnement d'images [ par gecko642 ]
Hello tout le monde, J'ai crée le site d'une photographe avec upload, création d'une grande image et d'une vignette. Tout cela est réalisé en php/myad
Recadrage dynamique [ par wacha ]
Bonjour,Je suis a la recherche d'une fonction permettant de recadrer dynamiquement une image.Je m'explique, lorsqu'une personne uploadera une image de
image entiere? [ par marabou ]
Comment peut on afficher une image entiere en fond d'ecran et donc qu'elle se modifie avec les differentes résolutions. merci de votre aide
Exécuter une fonction PHP à l'aide d'un Liens ou d'image... [ par spike911 ]
Bonjours, j'ai une question un peu simple. J'ai créer une basse de données en MySQL qui fonctionne très bien. Maintemant je veux créer une section adm
Récupérer le résultat d'une fonction javascript dans variable php [ par Metabolicman ]
Bonjour, J'ai un petit problème, dans mon code je voudrais que lorsque l'utilisateur déclenche le onfocus cela appel une fonction javascript avec en
bouton image en php [ par rimeh0076 ]
<td id="HB_Focus_Element" valign="top" width="100%" background="" height="250"
afficher image de type blob [ par garpa ]
Bonjour à tous,Voilà mon problème, je stock mes images sous un type blob dans ma base. Or, j'ai des problème pour lire ces image dans mon script php.
probleme de passage de variable [ par gretata ]
Bonjour a tous !!voila petit problème que j'arrive pas a résoudre donc je fait appel a votre savoir fairedonc voila, je upload une image et je voudrai
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|