Hi, this is my first tutorial. I have tested it and it all works great. It should work with any type of image. Today, err.. class, were going to make an image >> database uploader. Requirements: -Basic knowledge of php and mysql. -Access to a mysql database. First of all, create a table (and a database if necessary): CREATE TABLE `images` ( `img` INT NOT NULL AUTO_INCREMENT , `data` LONGTEXT NOT NULL , PRIMARY KEY ( `img` ) ); Secondly, create a directory called "temporary" and chmod it to 777. Ok, now that you have made the table and directory lets get to the coding. This script will consist of 2 pages, "upload.php" and "image.php". First page, "upload.php": PHP: <?php //connect to database. Username and password need to be changed mysql_connect("localhost", "username", "password"); //Select database, database_name needs to be changed mysql_select_db("database_name"); if (!$_POST['uploaded']){ //If nothing has been uploaded display the form ?> <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" ENCTYPE="multipart/form-data"> Upload:<br><br> <input type="file" name="image"><br><br> <input type="hidden" name="uploaded" value="1"> <input type="submit" value="Upload"> </form> <? }else{ //if the form hasn't been submitted then: //from here onwards, we are copying the file to the directory you made earlier, so it can then be moved //into the database. The image is named after the persons IP address until it gets moved into the database //get users IP $ip=$REMOTE_ADDR; //don't continue if an image hasn't been uploaded if (!empty($image)){ //copy the image to directory copy($image, "./temporary/".$ip.""); //open the copied image, ready to encode into text to go into the database $filename1 = "./temporary/".$REMOTE_ADDR; $fp1 = fopen($filename1, "r"); //record the image contents into a variable $contents1 = fread($fp1, filesize($filename1)); //close the file fclose($fp1); //encode the image into text $encoded = chunk_split(base64_encode($contents1)); //insert information into the database mysql_query("INSERT INTO images (img,data)"."VALUES ('NULL', '$encoded')"); //delete the temporary file we made unlink($filename1); } //end } ?> Now thats the upload script complete, how do we view the images? Second Page, "image.php": PHP: <?php //connect to database. Username and password need to be changed $connection=mysql_connect("localhost", "username", "password"); //Select database, database_name needs to be changed mysql_select_db("database_name"); //get decoded image data from database $result=mysql_query("SELECT * FROM images WHERE img='".$_GET['img']."'"); //fetch data from database $data=mysql_fetch_array($result); $encoded=$data['data']; //note: "$data['data']" is the row "data" in the table we made. //The image ID would be "$data['img']" for example //close connection mysql_close($connection); //decode and echo the image data echo base64_decode($encoded); //end ?> Now, test it. To view the images you upload go to: http://www.yourdomain.com/image.php?img=1 http://www.yourdomain.com/image.php?img=2 http://www.yourdomain.com/image.php?img=3 and so on... My first tutorial, tell me what you think. Did you find it hard to understand any parts?