Jump to content

Image Upload


Lamez

Recommended Posts

I have never ever wrote a script to upload images, and I know this can be done.

 

Could someone write down the steps on getting a image to upload to a dir,  I have already set the chmode of the dir to 777. Also a sample code of a file upload or something like that would help me out. I do not want anyone to spoon feed me, I just need someone to point me in the right direction.

 

Thanks Guys :D

 

P.S. is it possible to set a image size, file size, and file extension.

Link to comment
https://forums.phpfreaks.com/topic/97299-image-upload/
Share on other sites

Here is a script i have which creates a thumbnail image and a larger image and inserts the i image name into a database

 

<?php 
$idir = "../images/gallery/full/";   // Path To Images Directory 
$tdir = "../images/gallery/thumbs/";   // Path To Thumbnails Directory 
$twidth = "100";   // Maximum Width For Thumbnail Images 
$theight = "75";   // Maximum Height For Thumbnail Images 
$ldir = "../images/gallery/large/";   // Path To Thumbnails Directory 
$lwidth = "400";   // Maximum Width For Thumbnail Images 
$lheight = "300";   // Maximum Height For Thumbnail Images

$pic=($_FILES['imagefile']['name']);
$gallery = $_POST['gallery'];

if (!isset($_POST['gallery'])) {
?> 
<fieldset>
    <legend><b>Image Gallery Upload</b></legend>
<form enctype="multipart/form-data" action="<? $_SERVER['PHP_SELF']; ?>" method="post">  
    <p style="margin-left:10px;">Gallery to upload to:<br />
    <select name="gallery" size="1">
    	<option value="jack">Jack</option> 
    	<option value="honeylands">Honeylands</option> 
    	<option value="events">Events</option> 
    	<option value="art">Art Auction</option> 
    </select>
    	    <p style="margin-left:10px;">Image to upload:<br />
    	    <input type="file" name="imagefile" style="width:450px" /><br /> 
    	    <P><input type="submit" name="submit" value="Upload Image" class="submit-button" style="margin-left:10px;" /></p>
    	</form>
</fieldset><br /> 
<?}
else {   // Uploading/Resizing Script 
    $url = $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use 
    if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") { 
        $file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php 
        $copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location 
            if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location 
       		print 'Image uploaded successfully.<br />';   // Was Able To Successfully Upload Image 
     
    //insert the image names into the database

    include_once "../includes/connection.php";

    $query = "INSERT INTO image VALUES ('','$pic','$pic','$gallery')";
    mysql_query($query);
    mysql_close();

    $simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From 
    $currwidth = imagesx($simg);   // Current Image Width 
    $currheight = imagesy($simg);   // Current Image Height 
    if ($currheight > $currwidth) {   // If Height Is Greater Than Width 
        $zoom = $twidth / $currheight;   // Length Ratio For Width 
        $newheight = $theight;   // Height Is Equal To Max Height 
        $newwidth = $currwidth * $zoom;   // Creates The New Width 
    } else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height) 
        $zoom = $twidth / $currwidth;   // Length Ratio For Height 
        $newwidth = $twidth;   // Width Is Equal To Max Width 
        $newheight = $currheight * $zoom;   // Creates The New Height 
    } 
    $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail 
    imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete 
    $palsize = ImageColorsTotal($simg); 
    for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image 
        $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used 
        ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use 
    } 
    imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It) 
    imagejpeg($dimg, "$tdir" . $url);   // Saving The Image 
    imagedestroy($simg);   // Destroying The Temporary Image 
    imagedestroy($dimg);   // Destroying The Other Temporary Image 
    print 'Image thumbnail created successfully.';   // Resize successful 
    } else { 
        print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed 
    }

    $simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From 
    $currwidth = imagesx($simg);   // Current Image Width 
    $currheight = imagesy($simg);   // Current Image Height 
    if ($currheight > $currwidth) {   // If Height Is Greater Than Width 
        $zoom = $lwidth / $currheight;   // Length Ratio For Width 
        $newheight = $lheight;   // Height Is Equal To Max Height 
        $newwidth = $currwidth * $zoom;   // Creates The New Width 
    } else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height) 
        $zoom = $lwidth / $currwidth;   // Length Ratio For Height 
        $newwidth = $lwidth;   // Width Is Equal To Max Width 
        $newheight = $currheight * $zoom;   // Creates The New Height 
    } 
    $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail 
    imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete 
    $palsize = ImageColorsTotal($simg); 
    for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image 
        $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used 
        ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use 
    } 
    imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It) 
    imagejpeg($dimg, "$ldir" . $url);   // Saving The Image 
    imagedestroy($simg);   // Destroying The Temporary Image 
    imagedestroy($dimg);   // Destroying The Other Temporary Image 
    print 'Image thumbnail created successfully.';   // Resize successful 
    } else { 
        print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed 
    } 
} 
?>

Link to comment
https://forums.phpfreaks.com/topic/97299-image-upload/#findComment-497943
Share on other sites

Archived

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

×
×
  • Create New...

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.