I want to upload file in server temporarily and then read the content of this file and insert the content to database. But when i run the html and upload a file it shows 404 not found error and nothing is uploaded. I cant find where is the error. Here goes the html code
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="POST" action="upload.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>File to upload:
<br>
<input type="file" id="userfile" name="userfile" size="40">
<p>
<input id="upload" type="submit" name="upload" value="upload">
</form>
</body>
</html>
and here goes upload.php
<?php
require_once('DBconnection.php');
ini_set('display_errors', 1);
ini_set('log_errors', 1);
if ($db -> connect_error){
die("connection failed ".$db->connect_error);
}
else{
echo "connection successful";
}
if(isset($_FILES['upload'])) {
if ($_FILES['upload']['error'] == 0) {
$fileName = $db->real_escape_string($_FILES['userfile']['name']);
$tmpName = $db->real_escape_string($_FILES['userfile']['tmp_name']);
$fileSize = intval($_FILES['userfile']['size']);
$fileType = $db->real_escape_string($_FILES['userfile']['type']);
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if (!get_magic_quotes_gpc()) {
$fileName = addslashes($fileName);
}
echo $fileSize;
$ins_query = "INSERT INTO upload (filename, filesize, filetype, content ) " .
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
$que = $db->query($ins_query);
if ($que == true)
echo "<br>File $fileName uploaded<br>";
else
echo "Error: " . $ins_query . "<br>" . mysqli_error($db);
}
else {
echo 'Error! A file was not sent!';
}
}
?>