Jump to content

Archived

This topic is now archived and is closed to further replies.

spires

uploading gifs?

Recommended Posts

Hi,

I'm trying to upload animated GIFs and JPGs, so i can have banners at the top of the screen.

I can upload the jpgs no problem, but i dont know what i need to do with my code to allow it to upload
GIFs aswell.

Any advice please.

[code]
<?php
$sql_select = "SELECT * FROM user_info WHERE username='$un'";
$query_select = mysql_query($sql_select) or die ('Could not connect');
$row_select= mysql_fetch_array($query_select);
$id = $row_select['id'];
if(isset($_POST['banner_submit']))

{
    $size = 74; // the thumbnail height
$width = 450; // size of width


    $filedir = 'original/'; // the directory for the original image
    $thumbdir = 'banner/'; // the directory for the thumbnail image
$largedir = 'large/'; // the directory for the large image
    $prefix = ''; // the prefix to be added to the original name

    $maxfile = '1000000'; // max file size
    $mode = octdec('0666'); // octdec -- Octal to decimal.
// The mode parameter consists of three octal number components specifying access restrictions for the owner,
// the user group in which the owner is in, and to everybody else in this order. e.g (666)
     
    $userfile_name = $_FILES['image']['name'];
    $userfile_tmp = $_FILES['image']['tmp_name'];
    $userfile_size = $_FILES['image']['size'];
    $userfile_type = $_FILES['image']['type'];
$file_ext = substr($_FILES['ufile']['name'], strrpos($_FILES['ufile']['name'], '.')+1);
     
  // if you have a the image and name then carry on
    if (isset($_FILES['image']['name']))  {

$new_file_name = $id.$userfile_name;

// $prod_img = the image folder and the image and name
        $prod_img = $filedir.$new_file_name;

// $prod_img_thumb = the thumb folder, the prefix (if you want it) and the image and name
        $prod_img_thumb = $thumbdir.$prefix.$new_file_name;

//move_uploaded_file -- Moves an uploaded file to a new location.
//move the uploaded file to the image folder with a tempory name.
        move_uploaded_file($userfile_tmp, $prod_img);
// chmod -- Changes file mode,
// set the user interface for the image
        chmod ($prod_img, $mode);
        // getimagesize -- Get the size of an image
// find the size of the original image
        $sizes = getimagesize($prod_img);

        $aspect_ratio = $sizes[1]/$sizes[0];
// if its less than the size you want it, dont change
if ($sizes[1] <= $size) {
$new_width = $sizes[0];
$new_height = $sizes[1];
// else, change image size
}else{
$new_height = $size;
$new_width = $width;
  //  $new_width = abs($new_height/$aspect_ratio);
// this code will only change the height, and make the width in ratio
}


        $destimg=ImageCreateTrueColor($new_width,$new_height) or die('Problem In Creating image');
        $srcimg=ImageCreateFromJPEG($prod_img) or die('Problem In opening Source Image');
        ImageCopyResized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die('Problem In resizing');
ImageCopyResampled($destimg, $srcimg, 0, 0, 0, 0, $new_width, $new_height, $sizes[0], $sizes[1]) or die('Problem In resampling');
        ImageJPEG($destimg,$prod_img_thumb,90) or die('Problem In saving');
        imagedestroy($destimg);
}

$date = date("Y-m-d > H:i:s");
$url = $_POST['url'];

  $sql = mysql_query("INSERT INTO banner (id, new_file_name, date, url) VALUES ('$id', '$new_file_name', '$date', '$url')");
$sql_price = mysql_query("INSERT INTO banner_account (id, new_file_name, date, url) VALUES ('$id', '$new_file_name', '$date', '$url')");
if ($sql) {
$uploaded = 'Files Uploaded';
}else{
$notuploaded = 'Your file did not upload';
}


}
[/code]

Share this post


Link to post
Share on other sites
I cant see where u are checking that its a jpeg or not

where you have the following line

but work out what extension it is

then use switch for the image resize
imagecreatefromjpeg
imagecreatefromgif
imagecreatefrompng

and
imagejpeg
imagegif
imagepng

I dont know how much PHP you know, so let us know if you need more help

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.