Using PHP to upload file and add the path to MySQL database
123,360
First you should use print_r($_FILES)
to debug, and see what it contains. :
your uploads.php
would look like:
//This is the directory where images will be saved
$target = "pics/";
$target = $target . basename( $_FILES['Filename']['name']);
//This gets all the other information from the form
$Filename=basename( $_FILES['Filename']['name']);
$Description=$_POST['Description'];
//Writes the Filename to the server
if(move_uploaded_file($_FILES['Filename']['tmp_name'], $target)) {
//Tells you if its all ok
echo "The file ". basename( $_FILES['Filename']['name']). " has been uploaded, and your information has been added to the directory";
// Connects to your Database
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("altabotanikk") or die(mysql_error()) ;
//Writes the information to the database
mysql_query("INSERT INTO picture (Filename,Description)
VALUES ('$Filename', '$Description')") ;
} else {
//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
?>
EDIT: Since this is old post, currently it is strongly recommended to use either mysqli or pdo instead mysql_ functions in php
Author by
The Last Melody
Updated on October 20, 2021Comments
-
The Last Melody over 2 years
Upload.php:
<?php //This is the directory where images will be saved $target = "pics"; $target = $target . basename( $_FILES['Filename']['name']); //This gets all the other information from the form $Filename=$_POST['Filename']; $Description=$_POST['Description']; $pic=($_FILES['Filename']['name']); // Connects to your Database mysql_connect("localhost", "root", "") or die(mysql_error()) ; mysql_select_db("altabotanikk") or die(mysql_error()) ; //Writes the information to the database mysql_query("INSERT INTO picture (Filename,Description) VALUES ('$Filename', '$Description')") ; //Writes the Filename to the server if(move_uploaded_file($_FILES['Filename']['tmp_name'], $target)) { //Tells you if its all ok echo "The file ". basename( $_FILES['uploadedfile']['Filename']). " has been uploaded, and your information has been added to the directory"; } else { //Gives and error if its not echo "Sorry, there was a problem uploading your file."; } ?>
And here is the form(in a separate file):
<form method="post" action="upload.php" enctype="multipart/form-data"> <p>Photo:</p> <input type="file" name="Filename"> <p>Description</p> <textarea rows="10" cols="35" name="Description"></textarea> <br/> <input TYPE="submit" name="upload" value="Add"/> </form>
The errors are
Undefined index: Filename on Line 17
(the $Filename=$_POST['Filename'];)
and
Undefined index: uploadedfile on Line 35
(the echo "The file ". basename( $_FILES['uploadedfile']['Filename']). " has been uploaded, and your information has been added to the directory";)
echo"<pre>".print_r($_FILES,true)."</pre>";
gives me:
Array ( [Filename] => Array ( [name] => Laserkanon.jpg [type] => image/jpeg [tmp_name] => C:\WampServer\tmp\php11D4.tmp [error] => 0 [size] => 41813 ) )