problème sur image.php "Créer un portfolio de A à Z episode 4"

Par Med Amine, il y a 11 ans


Salut
j'ai un problème sur le fichier image.php

code de fichier image.php

<?php ; function resizeImage($file, $width, $height){ # We find the right file $pathinfo = pathinfo(trim($file, '/')); $output = $pathinfo['dirname'] . '/' . $pathinfo['filename'] . '_' . $width . 'x' . $height . '.' . $pathinfo['extension']; if (!file_exists($output)) { # Setting defaults and meta $info = getimagesize($file); list($width_old, $height_old) = $info; # Create image ressource switch ( $info[2] ) { case IMAGETYPE_GIF: $image = imagecreatefromgif($file); break; case IMAGETYPE_JPEG: $image = imagecreatefromjpeg($file); break; case IMAGETYPE_PNG: $image = imagecreatefrompng($file); break; default: return false; } # We find the right ratio to resize the image before cropping $heightRatio = $height_old / $height; $widthRatio = $width_old / $width; $optimalRatio = $widthRatio; if ($heightRatio < $widthRatio) { $optimalRatio = $heightRatio; } $height_crop = ($height_old / $optimalRatio); $width_crop = ($width_old / $optimalRatio); # The two image ressources needed (image resized with the good aspect ratio, and the one with the exact good dimensions) $image_crop = imagecreatetruecolor( $width_crop, $height_crop ); $image_resized = imagecreatetruecolor($width, $height); # This is the resizing/resampling/transparency-preserving magic if ( ($info[2] == IMAGETYPE_GIF) || ($info[2] == IMAGETYPE_PNG) ) { $transparency = imagecolortransparent($image); if ($transparency >= 0) { $transparent_color = imagecolorsforindex($image, $trnprt_indx); $transparency = imagecolorallocate($image_crop, $trnprt_color['red'], $trnprt_color['green'], $trnprt_color['blue']); imagefill($image_crop, 0, 0, $transparency); imagecolortransparent($image_crop, $transparency); imagefill($image_resized, 0, 0, $transparency); imagecolortransparent($image_resized, $transparency); }elseif ($info[2] == IMAGETYPE_PNG) { imagealphablending($image_crop, false); imagealphablending($image_resized, false); $color = imagecolorallocatealpha($image_crop, 0, 0, 0, 127); imagefill($image_crop, 0, 0, $color); imagesavealpha($image_crop, true); imagefill($image_resized, 0, 0, $color); imagesavealpha($image_resized, true); } } imagecopyresampled($image_crop, $image, 0, 0, 0, 0, $width_crop, $height_crop, $width_old, $height_old); imagecopyresampled($image_resized, $image_crop, 0, 0, ($width_crop - $width) / 2, ($height_crop - $height) / 2, $width, $height, $width, $height); # Writing image according to type to the output destination and image quality switch ( $info[2] ) { case IMAGETYPE_GIF: imagegif($image_resized, $output, 80); break; case IMAGETYPE_JPEG: imagejpeg($image_resized, $output, 80); break; case IMAGETYPE_PNG: imagepng($image_resized, $output, 9); break; default: return false; }

code de fichier work_edit.php

//ENVOIS DES IMAGES $work_id = $db->quote($_GET['id']); $files = $_FILES['images']; $images = array(); include'../lib/image.php'; foreach($files['tmp_name'] as $k => $v){ $image = array( 'name' => $files['name'][$k], 'tmp_name' => $files['tmp_name'][$k] ); $extension = pathinfo($image['name'], PATHINFO_EXTENSION); if(in_array($extension, array('jpg','png'))){ $db->query("INSERT INTO images SET work_id=$work_id"); $image_id = $db->lastInsertId(); $image_name = $image_id . '.' . $extension; move_uploaded_file($image['tmp_name'], IMAGES . '/works/' . $image_name); resizeImage(IMAGES . '/works/' . $image_name, 150,150); $image_name = $db->quote($image_name); $db->query("UPDATE images SET name=$image_name WHERE id = $image_id"); } } header('location:work.php'); die(); }else{ setFlash('Le slug n\'est pas valide', 'danger'); } }

4 réponses

Carouge10, il y a 11 ans

Bonjour,
Vous avez le ";" en début de fichier sans instructions. Supprimer-le.
Et il doit manquer une "}" à la fin du fichier.

Med Amine, il y a 11 ans

je n'ai pas remarqué. Merci

Underscreen, il y a 11 ans

Bonjour,

@Med Amine Benkerrache merci de valider le sujet en cliquant sur la réponse qui vous a apporter la solution.

Bonne journée

Med Amine, il y a 11 ans

ok =) merci