joesaddigh Posted February 23, 2010 Share Posted February 23, 2010 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... 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 Quote Link to comment https://forums.phpfreaks.com/topic/193096-adding-photos/ Share on other sites More sharing options...
mikesta707 Posted February 23, 2010 Share Posted February 23, 2010 Are you getting an error message? Quote Link to comment https://forums.phpfreaks.com/topic/193096-adding-photos/#findComment-1016900 Share on other sites More sharing options...
joesaddigh Posted February 23, 2010 Author Share Posted February 23, 2010 No the only output that I get as stated above. Notice that the queries are not being printed out so it is never getting into that part of the code... I.E failing at if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) Quote Link to comment https://forums.phpfreaks.com/topic/193096-adding-photos/#findComment-1016908 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.