Search code examples
phpformsfile

File upload not working | Php


I'm trying to upload a file in php and unable to do it. The file I'm trying to upload is a csv file, but it should not be a concern. I'm using php to upload my file. I'm also trying to process the form in the same page. Below is my code for file upload and it is not working...

<!DOCTYPE html>
<html>
<head>
<title>File Upload</title>
</head>
<body>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <input type="file" name="csv_file">
    <input type="submit" name="submit">
</form>


<?php   
    if(isset($_POST['submit'])) {
        if(isset($_POST['csv_file'])) {             
            echo "<p>".$_POST['csv_file']." => file input successfull</p>";
            fileUpload();
        }
    }   

function fileUpload () {
    $target_dir = "var/import/";
    $file_name = $_FILES['csv_file']['name'];
    $file_tmp = $_FILES['csv_file']['tmp_name'];

    if (move_uploaded_file($file_tmp, $target_dir.$file_name)) {
        echo "<h1>File Upload Success</h1>";            
    }
    else {
        echo "<h1>File Upload not successfull</h1>";
    }
}

?>


Solution

  • I have try below code and it's work perfect.

    <!DOCTYPE html>
    <html>
        <head>
            <title>File Upload</title>
        </head>
        <body>
    
            <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data">
                <input type="file" name="csv_file">
                <input type="submit" name="submit">
            </form>
    
    
            <?php
            if (isset($_POST['submit'])) {
                echo "<p>" . $_POST['csv_file'] . " => file input successfull</p>";
                $target_dir = "images ";
                $file_name = $_FILES['csv_file']['name'];
                $file_tmp = $_FILES['csv_file']['tmp_name'];
    
                if (move_uploaded_file($file_tmp, $target_dir . $file_name)) {
                    echo "<h1>File Upload Success</h1>";
                } else {
                    echo "<h1>File Upload not successfull</h1>";
                }
            }
            ?>
        </body>
    </html>