Question

Je travaille sur un script qui télécharge une image en utilisant PHP et je veux faire redimensionner l'image à la largeur de 180 avant de l'enregistrer.
J'ai essayé d'utiliser la bibliothèque et WIDEimage -> saveFileTO (...) mais quand je l'inclure WideImage.php dans la page, la page se vide !!
Donc, voici mon script si vous pouvez me aider et me dire comment faire enregistrer la version redimensionnée

Était-ce utile?

La solution

Vous pouvez utiliser le bibliothèque PHP GD pour redimensionner une image sur le téléchargement .

Le code suivant devrait vous donner une idée de la façon de mettre en œuvre le Redimensionnement:

// Get the image info from the photo
$image_info = getimagesize($photo);
$width = $new_width = $image_info[0];
$height = $new_height = $image_info[1];
$type = $image_info[2];

// Load the image
switch ($type)
{
    case IMAGETYPE_JPEG:
        $image = imagecreatefromjpeg($photo);
        break;
    case IMAGETYPE_GIF:
        $image = imagecreatefromgif($photo);
        break;
    case IMAGETYPE_PNG:
        $image = imagecreatefrompng($photo);
        break;
    default:
        die('Error loading '.$photo.' - File type '.$type.' not supported');
}

// Create a new, resized image
$new_width = 180;
$new_height = $height / ($width / $new_width);
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Save the new image over the top of the original photo
switch ($type)
{
    case IMAGETYPE_JPEG:
        imagejpeg($new_image, $photo, 100);
        break;
    case IMAGETYPE_GIF:
        imagegif($new_image, $photo);         
        break;
    case IMAGETYPE_PNG:
        imagepng($new_image, $photo);
        break;
    default:
        die('Error saving image: '.$photo);
}

Autres conseils

Vous pouvez utiliser une classe que j'ai écrit pour une telle tâche:

http://code.google. com / p / image2 / source / browse / # svn / trunk / includes / classes

<?php

    try
    {
        $image = new Image2($path_to_image);
    }
    catch (NotAnImageException $e)
    {
        printf("FILE PROVIDED IS NOT AN IMAGE, FILE PATH: %s", $path_to_image);
    }

    $image -> resize(array("width" => 180)) -> saveToFile($new_path); // be sure to exclude the extension
    $new_file_location = $image -> getFileLocation(); // this will include the extension for future use

Vous ne devez même pas utiliser la bibliothèque WIDEimage.

Vérifiez ici ce script: http://bgallz.org/502/php-upload-resize-image/

Vous commencez en téléchargeant l'image et l'enregistrement dans un fichier image temporaire. Ce script fonctionne sur une forme avec des entrées pour la hauteur max ou largeur max. Donc, il va alors générer un nouveau fichier d'image basée sur la nouvelle largeur / hauteur, puis copier l'image temporaire sur le nouveau créé sur le serveur.

Vous voyez cela avec le code suivant:

// Create temporary image file.
$tmp = imagecreatetruecolor($newwidth,$newheight);
// Copy the image to one with the new width and height.
imagecopyresampled($tmp,$image,0,0,0,0,$newwidth,$newheight,$width,$height);

N'utilisez une bibliothèque Vérifiez ce script http://dr-wordpress.blogspot.com/2013 /12/image-resizing-using-php.html Juste a donné la qualité de imges de (0-99) ce code redimensionne automatiquement les images lors du téléchargement

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top