| | |
Image upload from, Form into Folder and MySQL
Please support our PHP advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
Thread Solved |
Hey all i'm fairly new to php and need some help with this code.
I'm not recieving any errors but it wont work.
what i'm trying to do is up load a picture from a form. i want to copy the picture into
a folder named "images" then keep all the other form information and the image path in a MySQL db. so later on i can display the images from a certain category on a web page.
DB table looks like this:
Table name: photos
id, image_name, caption, image_path, category,
Form Code:
upload code:
I'm not recieving any errors but it wont work.
what i'm trying to do is up load a picture from a form. i want to copy the picture into
a folder named "images" then keep all the other form information and the image path in a MySQL db. so later on i can display the images from a certain category on a web page.
DB table looks like this:
Table name: photos
id, image_name, caption, image_path, category,
Form Code:
PHP Syntax (Toggle Plain Text)
<form enctype="multipart/form-data" name="addimage" action="imageupload.php" method="post"> <tr> <td> Select Category: <br /> <?php include 'Images_db_connect.php'; // Connect to server and select database. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $sql = mysql_query("SELECT id,category_name FROM categories ORDER BY category_name"); $row = mysql_fetch_array($sql); ?> <select name="Category_name"> <?php do{ ?> <option value="<?php echo $row['id']; ?>"><?php echo $row['category_name']; ?> </option> <?php } while($row = mysql_fetch_array($sql));?> </select> <br /> <br /> Image Name: <br /> <input type="text" name="image name" size="30"> <br /> <br /> Image Caption: <br /> <textarea name="Caption" rows="3" cols="30"></textarea> <br /> <br /> Select File: <br /> <input type="file" name="Image" size="30"> <br /> <br /> <input type="submit" name="upload" value="Upload Image"> </td> </tr> </form>
upload code:
PHP Syntax (Toggle Plain Text)
<?php include 'Images_db_connect.php'; $imagename = $_POST['image name']; $caption = $_POST['Caption']; $category = $_POST['Category_name']; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); //define a maxim size for the uploaded images in Kb define ("MAX_SIZE","75"); //This function reads the extension of the file. It is used to determine if the file is an image by checking the extension. function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } //This variable is used as a flag. The value is initialized with 0 (meaning no error found) //and it will be changed to 1 if an errro occures. //If the error occures the file will not be uploaded. $errors=0; //checks if the form has been submitted if(isset($_POST['Submit'])) { //reads the name of the file the user submitted for uploading $image=$_FILES['image']['name']; //if it is not empty if ($image) { //get the original name of the file from the clients machine $filename = stripslashes($_FILES['image']['name']); //get the extension of the file in a lower case format $extension = getExtension($filename); $extension = strtolower($extension); //if it is not a known extension, we will suppose it is an error and will not upload the file, //otherwise we will do more tests if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) { //print error message echo '<h1>Unknown extension!</h1>'; $errors=1; } else { //get the size of the image in bytes //$_FILES['image']['tmp_name'] is the temporary filename of the file //in which the uploaded file was stored on the server $size=filesize($_FILES['image']['tmp_name']); //compare the size with the maxim size we defined and print error if bigger if ($size > MAX_SIZE*1024) { echo '<h1>You have exceeded the size limit!</h1>'; $errors=1; } //we will give an unique name, for example the time in unix time format $image_name=time().'.'.$extension; //the new name will be containing the full path where will be stored (images folder) $newname="images/".$image_name; //we verify if the image has been uploaded, and print error instead $copied = copy($_FILES['image']['tmp_name'], $newname); if (!$copied) { $sql = "INSERT into photos (image_name, caption, image_path, category) VALUES ('$imagename', '$caption', '$newname', '$category')"; mysql_query($sql) or die(mysql_error()); echo '<h1>Copy unsuccessfull!</h1>'; $errors=1; }}}} //If no errors registred, print the success message if(isset($_POST['Submit']) && !$errors) { echo "<h1>File Uploaded Successfully!</h1>"; } mysql_close(); ?>
"I am the Master Piece of my own life, Everything i'm thinking is creating my future."
Instead of exploding and getting the extension use the mime type of the images (images/gif for firefox and safari, images/pgif for IExplorer). Because if you use the method of getting extension then the users will upload any thing after changing the files extension. e.g if a file is doc.docx they will rename it as doc.gif then your code will accept it.
Using this code you don't have to worry about getting extension or lowering extension. Just use a check of file size. This code will allow user to upload .jpg, .gif, .png files.
PHP Syntax (Toggle Plain Text)
<?php $typ = $_FILES['file']['type']; if(isset($FILES['file']['name'])){ if($typ == "images/gif" || $typ == "images/png" || $typ == "images/jpeg" || $typ == "images/pgif ||$typ" == "images/ppng" || $typ == "images/pjpeg"){ $uploddir = "images/"; $uploadimages = $uploaddir.$_FILES['file']['name']; if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadimages)){ //insert data or other collected info into db. } } } ?>
Last edited by architact; Aug 24th, 2008 at 12:26 am.
If you think we fight for money and you fight for honor, then remember everyone fights for the thing they don't have...
K i need some major help on this. I am really new to php and have a feeling i'm along way from getting this correct. Is there someone willing to explain in great detail of what everything does and the process of uplaoding an image to a folder and then keeping the path in a database?
Here is the code i have so far, and i get the following error.
"Parse error: syntax error, unexpected T_IS_EQUAL in C:\xampp\htdocs\imageupload.php on line 12"
here is the code i have so far:
Here is the code i have so far, and i get the following error.
"Parse error: syntax error, unexpected T_IS_EQUAL in C:\xampp\htdocs\imageupload.php on line 12"
here is the code i have so far:
PHP Syntax (Toggle Plain Text)
<?php include 'Images_db_connect.php'; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); //define a maxim size for the uploaded images in Kb define ("MAX_SIZE","75"); if(isset($_POST['Submit'])) $typ = $_FILES['file']['type']; if(isset($FILES['file']['name'])){ if($typ == "images/gif" || $typ == "images/png" || $typ == "images/jpeg" || $typ == "images/pgif ||$typ" == "images/ppng" || $typ == "images/pjpeg"){ $uploddir = "images/"; $uploadimages = $uploaddir.$_FILES['file']['name']; if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadimages)){ $imagename = 'image name'; $caption = 'caption'; $category = 'category_name'; $sql = "INSERT into photos (image_name, caption, image_path, category) VALUES ('$imagename', '$caption', '$uploadimages', '$category')"; mysql_query($sql) or die(mysql_error()); echo '<h1>Copy unsuccessfull!</h1>'; $errors=1; }}}} //If no errors registred, print the success message if(isset($_POST['Submit']) && !$errors) { echo "<h1>File Uploaded Successfully!</h1>"; } mysql_close(); ?>
"I am the Master Piece of my own life, Everything i'm thinking is creating my future."
If you think we fight for money and you fight for honor, then remember everyone fights for the thing they don't have...
To be completely honest i'm not 100% sure of the placment of these tags.
if ya cant tell i'm a total newbie. I really want to learn this so if you can please give me details of why things are done and where they are placed. I really appreciate your help.
I hope this is what you meant.
if ya cant tell i'm a total newbie. I really want to learn this so if you can please give me details of why things are done and where they are placed. I really appreciate your help.
I hope this is what you meant.
PHP Syntax (Toggle Plain Text)
if(isset($_POST['Submit'])){ {
"I am the Master Piece of my own life, Everything i'm thinking is creating my future."
Also i am still getting an error on line 10. any ideas anyone?
PHP Syntax (Toggle Plain Text)
#10 $typ = $_FILES['file']['type']; #11 if(isset($FILES['file']['name'])){ #12 if($typ == "images/gif" || $typ == "images/png" || $typ == "images/jpeg" || $typ == "images/pgif ||$typ" == "images/ppng" || $typ == "images/pjpeg"){ #13 $uploddir = "images/"; #14 $uploadimages = $uploaddir.$_FILES['file']['name']; #15 if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadimages)){
"I am the Master Piece of my own life, Everything i'm thinking is creating my future."
Here is the code. The form code is in the first post.
PHP Syntax (Toggle Plain Text)
<?php include 'Images_db_connect.php'; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); //define a maxim size for the uploaded images in Kb define ("MAX_SIZE","75"); if(isset($_POST['Submit'])) $typ = $_FILES['file']['type']; if(isset($FILES['file']['name'])){ if($typ == "images/gif" || $typ == "images/png" || $typ == "images/jpeg" || $typ == "images/pgif ||$typ" == "images/ppng" || $typ == "images/pjpeg"){ $uploddir = "images/"; $uploadimages = $uploaddir.$_FILES['file']['name']; if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadimages)){ $imagename = 'image name'; $caption = 'caption'; $category = 'category_name'; $sql = "INSERT into photos (image_name, caption, image_path, category) VALUES ('$imagename', '$caption', '$uploadimages', '$category')"; mysql_query($sql) or die(mysql_error()); echo '<h1>Copy unsuccessfull!</h1>'; $errors=1; }}}} //If no errors registred, print the success message if(isset($_POST['Submit']) && !$errors) { echo "<h1>File Uploaded Successfully!</h1>"; } mysql_close(); ?><?php include 'Images_db_connect.php'; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); //define a maxim size for the uploaded images in Kb define ("MAX_SIZE","75"); if(isset($_POST['Submit'])){ } $typ = $_FILES['file']['type']; if(isset($FILES['file']['name'])){ if($typ == "images/gif" || $typ == "images/png" || $typ == "images/jpeg" || $typ == "images/pgif ||$typ" == "images/ppng" || $typ == "images/pjpeg"){ $uploddir = "images/"; $uploadimages = $uploaddir.$_FILES['file']['name']; if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadimages)){ $imagename = 'image name'; $caption = 'caption'; $category = 'category_name'; $sql = "INSERT into photos (image_name, caption, image_path, category) VALUES ('$imagename', '$caption', '$uploadimages', '$category')"; mysql_query($sql) or die(mysql_error()); echo '<h1>Copy unsuccessfull!</h1>'; $errors=1; }}}} //If no errors registred, print the success message if(isset($_POST['Submit']) && !$errors) { echo "<h1>File Uploaded Successfully!</h1>"; } mysql_close(); ?>
"I am the Master Piece of my own life, Everything i'm thinking is creating my future."
![]() |
Similar Threads
- how to retrive image file from mysql databse using php (PHP)
- Programming Sag Really Need Help / Advice (ASP.NET)
Other Threads in the PHP Forum
- Previous Thread: help in resizer
- Next Thread: How to find out a website is secure?
Views: 3435 | Replies: 32
| Thread Tools | Search this Thread |
Tag cloud for PHP
.htaccess access ajax apache api array beginner binary broken cakephp checkbox class cms code cron curl database date directory display download dynamic echo email encode error file files folder form forms function functions google howtowriteathesis href htaccess html image include insert integration ip java javascript joomla jquery limit link login loop mail menu methods mlm mod_rewrite multiple multipletables mysql oop parse paypal pdf php problem provider query radio random recursion regex remote script search select server sessions sms soap source space speed sql structure syntax system table template tutorial update updates upload url validation validator variable video web xml youtube





