Jump to content

Adding photos


joesaddigh

Recommended Posts

Hi,

 

Here is my code which will add a photo from a form and enter the relevant data in the db...

 

It seems to work one day and not the next...  :shrug:

 

Obviously it is something that I am missing.

 

The code is as follows:

 

 

<?php
include("includes/connection.php");

    // Where the file is going to be placed 
    $schoolimage = "SchoolImages/";

//This path will be stored in the database as it does not contain the filename
$currentdir = getcwd();
$path = $currentdir . '/' . $schoolimage;

// Get the schoolid for the image and school linker table
$schoolid = $_POST['schoolid'];

//Get the school name
$query = "SELECT * FROM school WHERE school_id = ".$schoolid;
$result = mysql_query($query) 
	or die("Error getting school details");
$row = mysql_fetch_assoc($result);
$schoolname = $row['name']; 

//Use this path to store the path of the file in the database.
$filepath = $schoolimage . $schoolname;


//Create the folder if it does not already exist
if(!file_exists('SchoolImages'))
    {
        if(mkdir('SchoolImages'))
        {
            echo 'Folder ' . 'SchoolImages' . ' created.';
        }
        else
        {
            echo 'Error creating folder ' . 'SchoolImages';
        }
    }


//Store the folder for the course title.
    if(!file_exists( $filepath ))
    {
        if(mkdir( $filepath ))
        {
            echo 'Folder ' . $schoolname . ' created.';
        }
        else
        {
            echo 'Error creating folder ' . $schoolname;
        }
    }


// Where the file is going to be placed 
    $target_path = $filepath;

    // Add the original filename to our target path. Result is "uploads/filename.extension"
    echo $target_path = $target_path . '/' . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) 
{
	echo "The file ".  basename( $_FILES['uploadedfile']['name'])." has been uploaded";
	$filename =  $_FILES['uploadedfile']['name'];

	//Store the filename, path other criteria in the database 
	echo $query = "INSERT INTO image(image_id, name, path)
	VALUES(0, '$filename', '$filepath')";

	//Perform the query
	$add = mysql_query($query, $conn)
		or die("Unable to add the image details to the database");
	$imageid = mysql_insert_id();

	//Store the filename, path other criteria in the database 
	echo $query = "INSERT INTO image_school( image_id, school_id )
	VALUES('$imageid', '$schoolid')";

	//Perform the query
	$add = mysql_query($query, $conn)
		or die("Unable to add the image details to the database");

	$message = 'Upload Successful';
	//Close the connection to the database	
	mysql_close($conn);
	//header("Location: add_school_photo_form.php? message=$message");
	exit();
} 
else
{	
	$message = 'There was an error uploading the file, please try again!';

	//Close the connection to the database	
	mysql_close($conn);
	//header("Location: add_school_photo_form.php? message=$message");
	exit();
}
?>

 

The output of the above is as follows: Notice that I am echoing out line

 

echo $target_path = $target_path . '/' . basename( $_FILES['uploadedfile']['name']);

 

SchoolImages/george/shark.jpg

 

The folder SchoolImages/george gets created on the server but no image is uploaded - It seems to fail at the above line..

 

Any advice would be much appreciated,

 

Thanks in advance

 

Joe

Link to comment
https://forums.phpfreaks.com/topic/193096-adding-photos/
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.