Невозможно найти способ изменить размер изображения с помощью PHP - PullRequest
0 голосов
/ 22 июля 2011

Я хочу изменить размер любого изображения, загруженного до 200 * 200 пикселей. Я просматривал сценарии по всей сети, нашел много, но не могу их использовать. Я не хочу никаких других элементов управления, просто изменив размер до определенного размера.

<!-<?php session_start();?>
<?php session_start();?>
<?php $u_name=birju;?>
<?php require_once("mydb.php");?>
<?php

         define ("MAX_SIZE","100"); 


         function getExtension($str) {
                 $i = strrpos($str,".");
                 if (!$i) { return ""; }
                 $l = strlen($str) - $i;
                 $ext = substr($str,$i+1,$l);
                 return $ext;
         }


         $errors=0;

          if(isset($_POST['Submit'])) 
         {
            $image=$_FILES['image']['name'];
            if ($image) 
            {
                $filename = stripslashes($_FILES['image']['name']);
                $extension = getExtension($filename);
                $extension = strtolower($extension);
         if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) 
                {
                    echo '<h1>Unknown extension!</h1>';
                    $errors=1;
                }
                else
                {
         $size=filesize($_FILES['image']['tmp_name']);

        if ($size > MAX_SIZE*1024)
        {
            echo '<h1>You have exceeded the size limit!</h1>';
            $errors=1;
        }

        $image_name = $u_name.'.'.$extension;
        $newname="images/".$image_name;
        $copied = copy($_FILES['image']['tmp_name'], $newname);
        if (!$copied) 
        {
            echo '<h1>Copy unsuccessfull!</h1>';
            $errors=1;
        }}}}

         $me=mysql_query("insert into img_upload values(\"\",\"$u_name\",\"$newname\")");
         if(!$me)
         {
             die("database query failed".mysql_error());
         }

?>

         <!--next comes the form, you must set the enctype to "multipart/frm-data" and use an input type "file" -->
         <form name="newad" method="post" enctype="multipart/form-data"  action="">
         <table>
            <tr><td><input type="file" name="image"></td></tr>
            <tr><td><input name="Submit" type="submit" value="Upload image"></td></tr>
         </table>   
         </form>
--> 

Ответы [ 2 ]

1 голос
/ 22 июля 2011

Используя PHP GD, вместо вашего кода о копировании изображения из tmp_name в new_name используйте:

$image = file_get_contents($_FILES['image']['tmp_name']);
$new_image = imagecreatetruecolor(200, 200);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, 200, 200, imagesx($image), imagesy($image));
file_put_contents($newname, $new_image);
0 голосов
/ 22 июля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...