Hi Ive wrote a upload script for a photo website im making and ive cam across a unusual problem. The script inserts all the values into the databse correctly and displays "file upload successfull" but the photos are not copying onto the server. any help will be appreciated, thank you!
<?php
require 'functions.php';
require 'common.php';
if(isset($_FILES['fupload'])) {
$imagedir = 'img/photo/';
$filename = addslashes($_FILES['fupload']['name']);
$source = $_FILES['fupload']['tmp_name'];
$target = $imagedir . $filename;
$description = addslashes($_POST['description']);
$category = addslashes($_POST['category']);
$title = addslashes($_POST['title']);
$path = $filename;
$thumb = $filename;
// Validates the form input
if(strlen($_POST['description']) < 4)
$error['description'] = '<p class="alert">Please enter a description for your photo. </p>';
if(strlen($_POST['title']) < 1)
$error['title'] = '<p class="alert">Please enter a title for your photo. </p>';
if($filename == '' || !preg_match('/[.](jpg)|(gif)|(png)|(jpeg)$/', $filename))
$error['no_file'] = '<p class="alert">Select a image to upload</p>';
if(!$error) {
move_uploaded_file($source, $target);
$q = "INSERT INTO photo (title, description, source, thumb, category) VALUES('$title', '$description', '$path', '$thumb', '$category')";
$result = $mysqli->query($q) or die(mysqli_error($mysqli));
if($result) {
echo "Success! Your file has been uploaded";
}
} // end preg_match
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="css/default.css" />
<title>My Photos</title>
</head>
<body>
<h1>My Photos</h1>
<ul><?php getPhotos(); ?></ul>
<h1>Upload a Photo</h1>
<form enctype="multipart/form-data" method="post" action="admin.php">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<p><input type="file" name="fupload" /></p>
<p><label for="description">Enter a Description: </label> </p>
<p> <textarea rows="6" cols="50" id="description" name="description"></textarea></p>
Enter a title: <input type="text" name="title" size="25" id="title" /><br/>
Please choose a category:
<select name="category">
<option value="">Select...</option>
<option value="sports">Sports</option>
<option value="london">London</option>
<option value="macro">Macro</option>
<option value="landscapes">Landscapes</option>
<option value="local">Local</option>
</select>
<p><input type="submit" value="Upload Photo" name="submit" /></p>
</form>
<?php
if ($error['no_file']) echo $error['no_file'];
if ($error['description']) echo $error['description'];
if ($error['title']) echo $error['title'];
?>
<br />
</body>
</html>