probleme de fonction
Posté : 25 oct. 2008, 14:16
Bonjour a tous 
voici une fonction qui selectionne les url d'images des message de mon forum afin de les redimensionner si elles sont trop grandes :
et donc je voudrai savoir pourquoi ce n'est pas applicable comme ça
Merci
voici une fonction qui selectionne les url d'images des message de mon forum afin de les redimensionner si elles sont trop grandes :
function prevpost($txt, $pmess, $i, $bol) {
if (preg_match('/\[img=/', $txt)) {
$txt = strstr($txt, '[img=');
$pos = strpos($txt, ']');
$img[$i]=substr($txt, 5, $pos-5);
list($width, $height) = getimagesize($img[$i]);
if ($width>665){
$extension = substr( $img[$i], -3 );
$extension = strtolower( $extension );
switch ( $extension ) {
case "jpg":
case "peg":
$img_src_resource = imagecreatefromjpeg( $img[$i] );
break;
case "gif":
$img_src_resource = imagecreatefromgif( $img[$i]);
break;
case "png":
$img_src_resource = imagecreatefrompng( $img[$i] );
break;
case "bmp":
$img_src_resource = imagecreatefrombmp( $img[$i] );
break;
default:
echo "L'image n'est pas dans un format reconnu. Extensions autorisées : jpg/jpeg, gif, png, bmp";
break;
}
$new_width = 665;
$new_height = 665/$width * $height;
$img_dst_resource = imagecreatetruecolor($new_width, $new_height);
//$imge = imagecreatefromjpeg($img[$i]);
imagecopyresampled( $img_dst_resource, $img_src_resource, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
if ($bol=="1") {
if ($dh = opendir('pix/img')) {
$k=0;
while (($filea = readdir($dh)) !== false) {
if ($filea!= "." && $filea!= ".." && $filea!= "Thumbs.db"){
$k++;
}
}
}
switch ( $extension ) {
case "jpg":
case "peg":
$img_dst_chemin="pix/img/img$k.jpg";
imagejpeg( $img_dst_resource, $img_dst_chemin, 100 );
break;
case "gif":
$img_dst_chemin="pix/img/img$k.gif";
imagegif( $img_dst_resource, $img_dst_chemin, 100 );
break;
case "png":
$img_dst_chemin="pix/img/img$k.png";
imagepng( $img_dst_resource, $img_dst_chemin, 100 );
break;
case "bmp":
$img_dst_chemin="pix/img/img$k.bmp";
imagebmp( $img_dst_resource, $img_dst_chemin, 100 );
break;
}
} else {
if ($dh = opendir('pix/temp')) {
$k=0;
while (($filea = readdir($dh)) !== false) {
if ($filea!= "." && $filea!= ".." && $filea!= "Thumbs.db"){
$k++;
}
}
}
switch ( $extension ) {
case "jpg":
case "peg":
$img_dst_chemin="pix/temp/img$i.jpg";
imagejpeg( $img_dst_resource, $img_dst_chemin, 100 );
break;
case "gif":
$img_dst_chemin="pix/temp/img$i.gif";
imagegif( $img_dst_resource, $img_dst_chemin, 100 );
break;
case "png":
$img_dst_chemin="pix/temp/img$i.png";
imagepng( $img_dst_resource, $img_dst_chemin, 100 );
break;
case "bmp":
$img_dst_chemin="pix/temp/img$k.bmp";
imagebmp( $img_dst_resource, $img_dst_chemin, 100 );
break;
}
}
$pmess = str_replace($img[$i], $img_dst_chemin, $pmess);
}
if ($bol==1 && width<=665) {
if ($dh = opendir('pix/img')) {
$k=0;
while (($filea = readdir($dh)) !== false) {
if ($filea!= "." && $filea!= ".." && $filea!= "Thumbs.db"){
$k++;
}
}
}
switch ( $extension ) {
case "jpg":
case "peg":
$img_dst_chemin="pix/temp/img$k.jpg";
copy($img[$i], $img_dst_chemin);
break;
case "gif":
$img_dst_chemin="pix/temp/img$k.gif";
copy($img[$i], $img_dst_chemin);
break;
case "png":
$img_dst_chemin="pix/temp/img$k.png";
copy($img[$i], $img_dst_chemin);
break;
case "bmp":
$img_dst_chemin="pix/temp/img$k.bmp";
copy($img[$i], $img_dst_chemin);
break;
}
$pomess = str_replace($img[$i], $img_dst_chemin, $pmess);
}
$txt=substr($txt, $pos+1);
$i++;
prevpost($txt, $pmess, $i, $bol);
}
}
je voudrai dans un premier temps previsaliser le message avec les image redimensionnées pour ce faire je veux utiliser la fonction comme ceci :Code : Tout sélectionner
echo '<div class=inputbox><font size = "2" face="verdana" color = "#CA0000">'.$pseudo.'</font><br>
<font size = "2" face="verdana" color = "#666666">'.prevpost($postmess ,$postmess , 0, 0).'</font></div>';Merci