Jump to content

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

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.