Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP छवि का आकार बदलना

मेरी जानकारी में, आप पहले . इमेज का आकार नहीं बदल सकते इसे अपलोड कर रहा है। (मैं गलत हो सकता था!) ​​हालांकि, जब आप छवि अपलोड करते हैं तो यह एक अस्थायी फ़ाइल में चली जाती है। आप अस्थायी छवि का आकार बदल सकते हैं और आकार की गई छवि को उसके अंतिम गंतव्य पर कॉपी कर सकते हैं।

यह कोड FliquidStudios के एक स्निपेट से अनुकूलित किया गया था:जीडी और इमेजिक के साथ PHP में छवियों का आकार बदलना

चूंकि (ऐसा लगता है) आप चौड़ाई को स्थिर रखना चाहते हैं, आपको वास्तव में बहुत सारे अनुपात परीक्षण करने की आवश्यकता नहीं है।

अपडेट करें:

आपको अपने मूल कोड के स्थान पर इसका उपयोग करने में सक्षम होना चाहिए। इसका अधिकांश भाग अपरिवर्तित है।

<?php

// resizes an image to fit a given width in pixels.
// works with BMP, PNG, JPEG, and GIF
// $file is overwritten
function fit_image_file_to_width($file, $w, $mime = 'image/jpeg') {
    list($width, $height) = getimagesize($file);
    $newwidth = $w;
    $newheight = $w * $height / $width;

    switch ($mime) {
        case 'image/jpeg':
            $src = imagecreatefromjpeg($file);
            break;
        case 'image/png';
            $src = imagecreatefrompng($file);
            break;
        case 'image/bmp';
            $src = imagecreatefromwbmp($file);
            break;
        case 'image/gif';
            $src = imagecreatefromgif($file);
            break;
    }

    $dst = imagecreatetruecolor($newwidth, $newheight);
    imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

    switch ($mime) {
        case 'image/jpeg':
            imagejpeg($dst, $file);
            break;
        case 'image/png';
            imagealphablending($dst, false);
            imagesavealpha($dst, true);
            imagepng($dst, $file);
            break;
        case 'image/bmp';
            imagewbmp($dst, $file);
            break;
        case 'image/gif';
            imagegif($dst, $file);
            break;
    }

    imagedestroy($dst);
}

// init file vars
$pic  = $_FILES['photo']['name'];
$target = 'uploads/' . basename( $_FILES['photo']['name']);
$temp_name = $_FILES['photo']['tmp_name'];
$type = $_FILES["photo"]["type"];

// Connects to your Database 
mysql_connect("hostname", "username", "password") or die(mysql_error()) ; 
mysql_select_db("database") or die(mysql_error()) ; 

// get form data
$name = mysql_real_escape_string(isset($_POST['name']) ? $_POST['name'] : 'No name');

//Writes the information to the database 
mysql_query("INSERT INTO `table` (name, photo) VALUES ('$name','$pic')") ; 

// resize the image in the tmp directorys
fit_image_file_to_width($temp_name, 200, $type);

//Writes the photo to the server
if(move_uploaded_file($temp_name, $target)) {

    //Tells you if its all ok 
    echo "The file ". basename( $_FILES['photo']['name'] ). " has been uploaded"; 

} else {

    //Gives and error if its not 
    echo "Sorry, there was a problem uploading your file."; 

}

?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर के CHOOSE () फ़ंक्शन के MySQL समतुल्य क्या है?

  2. एक MySQL पदानुक्रमित पुनरावर्ती क्वेरी कैसे बनाएं?

  3. mysql में कॉलम का चयन करने के लिए इफ इफ कंडीशन का उपयोग करें?

  4. एसक्यूएल (MySQL) में किसी विशेष क्षेत्र पर राउंड रॉबिन ऑर्डर करने का कोई तरीका है?

  5. प्रति मान COUNT द्वारा आदेश