2014-10-15 2 views
0

Ниже приведен мой код для загрузки изображений в папку на PHP.Как изменить размер изображения на PHP?

if(isset($_GET['id'])) 
{ 
    $id= $_GET['id']; 

    $folder = 'uploads/'; 
    $filename = $id.'.jpg'; 


    $uploaddir = './uploads/'; 

    // create new directory with 744 permissions if it does not exist yet 
    // owner will be the user/group the PHP script is run under 
    if (!file_exists($folder)) { 
     mkdir ($folder, 0744); 
    } 

    $data = $_POST['base64data']; 

    $type = ''; 

    list($type, $data) = explode(';', $data); 
    list(, $data)  = explode(',', $data); 
    $data = base64_decode($data); 

    $file_path = $folder.$filename; 

    echo $_POST['base64data']; 

    file_put_contents($file_path, $data); 
} 

Но как изменить размер загруженных изображений до размера, который я хочу?

Я нашел функцию PHP, но я не уверен, как реализовать это в моем коде ... Это imagecopyresampled:

// Le fichier 
$filename = 'test.jpg'; 

// Définition de la largeur et de la hauteur maximale 
$width = 200; 
$height = 200; 

// Content type 
header('Content-Type: image/jpeg'); 

// Cacul des nouvelles dimensions 
list($width_orig, $height_orig) = getimagesize($filename); 

$ratio_orig = $width_orig/$height_orig; 

if ($width/$height > $ratio_orig) { 
    $width = $height*$ratio_orig; 
} else { 
    $height = $width/$ratio_orig; 
} 

// Redimensionnement 
$image_p = imagecreatetruecolor($width, $height); 
$image = imagecreatefromjpeg($filename); 
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); 

// Affichage 
imagejpeg($image_p, null, 100); 

ответ

0

Я думаю, что вы должны сделать, это:

if(isset($_GET['id'])) 
    { 
    /*put the code which resize your image here*/ 
     $id= $_GET['id']; 

     $folder = 'uploads/'; 
     $filename = $id.'.jpg'; 


     $uploaddir = './uploads/'; 

     // create new directory with 744 permissions if it does not exist yet 
     // owner will be the user/group the PHP script is run under 
     if (!file_exists($folder)) { 
      mkdir ($folder, 0744); 
     } 

     $data = $_POST['base64data']; 

     $type = ''; 

     list($type, $data) = explode(';', $data); 
     list(, $data)  = explode(',', $data); 
     $data = base64_decode($data); 

     $file_path = $folder.$filename; 

     echo $_POST['base64data']; 

     file_put_contents($file_path, $data); 
    } 

и в комментарии после того, как вы используете imagecopyresampled для изменения размера изображения (попробуйте его с изображением на локальном компьютере), вы должны получить тип контента и последовать за остальной частью скрипта imagecopyresampled.

или вы можете это сделать: проверить это:

nimrodstech.com/php-image-resize

github.com/Nimrod007/PHP_image_resize

+0

У вас есть Exemple? Я не уверен, что ты имеешь в виду. – colinec

+0

или вы можете сделать это: проверить это: http://www.nimrodstech.com/php-image-resize/ https://github.com/Nimrod007/PHP_image_resize – Buisson

+0

Спасибо за помощь !! :-D Все с вашими ссылками! – colinec

0
**Resize images with PHP** 


<?php 

    if ($_FILES['fileToUpload']['error'] > 0) { 
     echo "Error: " . $_FILES['fileToUpload']['error'] . "<br />"; 
    } else { 
     // array of valid extensions 
     $validExtensions = array('.jpg', '.jpeg', '.gif', '.png'); 
     // get extension of the uploaded file 
     $fileExtension = strrchr($_FILES['fileToUpload']['name'], "."); 
     // check if file Extension is on the list of allowed ones 
     if (in_array($fileExtension, $validExtensions)) { 
      $newNamePrefix = time() . '_'; 
      $manipulator = new ImageManipulator($_FILES['fileToUpload']['tmp_name']); 
      // resizing to 200x200 
      $newImage = $manipulator->resample(200, 200); 
      // saving file to uploads folder 
      $manipulator->save('uploads/' . $newNamePrefix . $_FILES['fileToUpload']['name']); 
      echo 'Done ...'; 
     } else { 
      echo 'You must upload an image...'; 
     } 
    } 

**Crop images with PHP** 

if ($_FILES['fileToUpload']['error'] > 0) { 
    echo "Error: " . $_FILES['fileToUpload']['error'] . "<br />"; 
} else { 
    // array of valid extensions 
    $validExtensions = array('.jpg', '.jpeg', '.gif', '.png'); 
    // get extension of the uploaded file 
    $fileExtension = strrchr($_FILES['fileToUpload']['name'], "."); 
    // check if file Extension is on the list of allowed ones 
    if (in_array($fileExtension, $validExtensions)) { 
     $newNamePrefix = time() . '_'; 
     $manipulator = new ImageManipulator($_FILES['fileToUpload']['tmp_name']); 
     $width = $manipulator->getWidth(); 
     $height = $manipulator->getHeight(); 
     $centreX = round($width/2); 
     $centreY = round($height/2); 
     // our dimensions will be 200x130 
     $x1 = $centreX - 100; // 200/2 
     $y1 = $centreY - 65; // 130/2 

     $x2 = $centreX + 100; // 200/2 
     $y2 = $centreY + 65; // 130/2 

     // center cropping to 200x130 
     $newImage = $manipulator->crop($x1, $y1, $x2, $y2); 
     // saving file to uploads folder 
     $manipulator->save('uploads/' . $newNamePrefix . $_FILES['fileToUpload']['name']); 
     echo 'Done ...'; 
    } else { 
     echo 'You must upload an image...'; 
    } 
} 
Смежные вопросы