Frage

Ich arbeite an einem Skript, dass Uploads ein Bild mit PHP und ich will es sich das Bild die Größe 180 Breite bevor es zu speichern.
Ich versuchte, die Wideimage-Bibliothek und -> saveFileTO (...), aber wenn ich die WideImage.php in der Seite enthalten, die Seite wird leer !!
So, hier ist mein Skript, wenn Sie mir helfen und mir sagen, wie man es machen Speichern der Größe veränderte Version

War es hilfreich?

Lösung

Sie können das PHP GD-Bibliothek ein Bild auf Upload, um die Größe .

Der folgende Code sollten Sie eine Vorstellung davon, wie die Größe ändern implementieren:

// 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);
}

Andere Tipps

Sie können eine Klasse verwende ich nur für eine solche Aufgabe geschrieben haben:

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

Sie brauchen noch nicht einmal die Bibliothek Wideimage verwenden.

Überprüfen Sie dieses Skript hier: http://bgallz.org/502/php-upload-resize-image/

Sie beginnen, indem Sie das Bild hochladen und in eine temporäre Bilddatei zu speichern. Dieses Skript führt eine Form mit Eingängen für die maximale Höhe oder Breite max ab. So wird es dann eine neue Image-Datei auf die neue Breite / Höhe anhand erzeugen und kopieren Sie dann die temporäre Bild auf die neuen auf dem Server erstellt.

Sie sehen dies mit dem folgenden Code:

// 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);

verwenden Sie nicht jede Bibliothek Überprüfen Sie dieses Skript http://dr-wordpress.blogspot.com/2013 /12/image-resizing-using-php.html Nur gab die Qualität des imges aus (0-99) Dieser Code wird die Bilder beim Hochladen

automatisch die Größe
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top