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!';
    }
}
?>
 
     
    