【问题标题】:How to allow user to upload files to website?如何允许用户上传文件到网站?
【发布时间】:2021-10-10 20:02:29
【问题描述】:

我有一个用 HTML/CSS/Vanilla JS 编写的网站,我想添加一个表单供用户将图片和文本上传到根文件夹。似乎是一项平凡的任务,但我找不到有关此的任何信息。我应该使用哪些技术?

【问题讨论】:

    标签: web-development-server


    【解决方案1】:

    这是您进入后端开发领域的地方:您可以(例如)使用 HTML <input type="file"> 选择一个文件并将其作为表单的一部分发送,但您需要一个服务器来处理您的请求.编写后端服务器的语言有很多,其中一些流行的是 node(服务器端 JS)和 PHP。

    Here's a tutorial page for file uploads in PHP

    And one for file uploads in Node using Express.js

    【讨论】:

    • 正是我想要的!谢谢!
    【解决方案2】:

    使用<input type="text"/><input type="file"/>,您可以让用户输入文本和文件(您的情况下的图片)。

    现在,为了将这些信息保存在您的文件中,您应该使用 php 或其他一些服务器端技术。

    PHP 方法:https://www.allphptricks.com/upload-file-using-php-save-directory/

    纯文本:How can I save my form data to a local text file using php?

    【讨论】:

    • 知道有用!感谢您的回答!
    【解决方案3】:

    你可以看看这个,我希望它会起作用,并且请确保创建一个文件夹来存储上传的视频。

    文件 1 -> config.php

    $host = "localhost";    /* Host name */
    $user = "root";         /* User */
    $password = "admin";         /* Password */
    $dbname = "mydb";   /* Database name */
    
    // Create connection
    $con = mysqli_connect($host, $user, $password,$dbname);
    
    // Check connection
    if (!$con) {
        die("Connection failed: " . mysqli_connect_error());
    }
    

    file 2 -> index.php 文件的主页

    <!doctype html>
    <html>
        <head>
            <?php
            include("config.php");
         
            if(isset($_POST['but_upload'])){
                $maxsize = 10000000; // 5MB
                           
                $name = $_FILES['file']['name'];
                $target_dir = "https://mmcollegebihiya.in/form1/videos/";
                $target_file = $target_dir . $_FILES["file"]["name"];
    
                // Select file type
                $videoFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
    
                // Valid file extensions
                $extensions_arr = array("mp4","avi","3gp","mov","mpeg");
    
                // Check extension
                if( in_array($videoFileType,$extensions_arr) ){
                    
                    // Check file size
                    if(($_FILES['file']['size'] >= $maxsize) || ($_FILES["file"]["size"] == 0)) {
                        echo "File too large. File must be less than 5MB.";
                    }else
                    {
                        // Upload
                        //if(move_uploaded_file($_FILES['file']['tmp_name'],$target_file)){
                            // Insert record
                            $query = "INSERT INTO videos(name,location) VALUES('".$name."','".$target_file."')";
    
                            mysqli_query($con,$query);
                            echo "Upload successfully.";
                        //}
                    }
    
                }else{
                    echo "Invalid file extension.";
                }
            }
            
            ?>
        </head>
        <body>
            <form method="post" action="" enctype='multipart/form-data'>
                <input type='file' name='file' />
                <input type='submit' value='Upload' name='but_upload'>
            </form>
    
        </body>
    </html>
    

    文件 3 -> 检查视频 php

    <?php
        include("config.php");
    ?>
    <!doctype html>
    <html>
        <head>
            <style>
                video{
                    float: left;
                }
            </style>
        </head>
        <body>
            <div>
              
            <?php
            $fetchVideos = mysqli_query($con, "SELECT * FROM videos ORDER BY id DESC");
            while($row = mysqli_fetch_assoc($fetchVideos)){
                $location = $row['location'];
                
                echo "<div >";
                echo "<video src='".$location."' controls width='320px' height='200px' >";
                echo "</div>";
            }
            ?>
              
            </div>
    
        </body>
    </html>
    

    如果这不起作用,那么我也会分享其他代码,但不要标记-1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 2022-01-19
      • 2020-11-01
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      • 2013-07-02
      相关资源
      最近更新 更多