php - 使用带有 html 和 php 的文件页面

标签 php html file

我试图让我的网站允许人们上传文件。我不知道我在做什么,并尝试使用谷歌搜索我能想到的一切。我想限制他们可以作为文件放入的内容以及最大文件大小。我还在 HTML 代码之外使用了我的 PHP 代码。所以我能得到的任何建议都会很棒。我还尝试遵循有关如何制作文件页面的教程,它希望我使用 mamp(我以前从未使用过)。有人可以帮我吗?
这是我的PHP代码:

<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_FILES['files'])) {
        $errors = [];
        $path = 'C:/Users/keena/Desktop/Website/uploads/';
        $extensions = ['pdf', 'txt', 'doc', 'docx'];
    $all_files = count($_FILES['files']['tmp_name']);

    for ($i = 0; $i < $all_files; $i++) {
        $file_name = $_FILES['files']['name'][$i];
        $file_tmp = $_FILES['files']['tmp_name'][$i];
        $file_type = $_FILES['files']['type'][$i];
        $file_size = $_FILES['files']['size'][$i];
        $file_ext = strtolower(end(explode('.', $_FILES['files']['name'][$i])));

        $file = $path . $file_name;

        if (!in_array($file_ext, $extensions)) {
            $errors[] = 'Extension not allowed: ' . $file_name . ' ' . $file_type;
        }

        if ($file_size > 2097152) {
            $errors[] = 'File size exceeds limit: ' . $file_name . ' ' . $file_type;
        }

        if (empty($errors)) {
            move_uploaded_file($file_tmp, $file);
        }
    }

    if ($errors) print_r($errors);
}
}
这是我的 HTML 代码:
<!DOCTYPE html>
<head>

    <php include "process.php"; ?>
    <script src="script/file.js" defer></script>
    <link rel="stylesheet" href="css/efm.css">
    <title>Education For Ministry</title>
    <meta name="author" content="Keenan J. Norris">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

</head>

<body>

    <a href="index.html">
    <img src="pics/efm-logo.jpg" alt="Education for ministries logo" width="device-width, initial-scale=1.0" height="device-height, initial-scale=1.0"></a>

    <div class="dropdown">
        <button onclick="myFunction()" class="dropbtn">Menu</button>
        <div id="myDropdown" class="dropdown-content">
        <a href="index.html">Home</a>
        <a href="event.html">Events</a>
        <a href="about.html">About</a>
        <a href="login.html">Login</a>
        <a href="enrol.html">Enrollment & Fees</a>
        <a href="resource.html">Resources for Participants</a>
        <a href="contact.html">Contact Us</a>
        <a href="file.html">Files</a>
        </div>
    </div>

    <p>This is for members only.  Please upload pdf, txt, doc, or a docx files.  Files should be no bigger than 2mb.</p>

    <form method="post" enctype="multipart/form-data">
        <input type="file" name="files[]" multiple />
        <input type="submit" value="uploads" name="submit" />
    </form>
</body>

附言再次,我是全新的,不知道我在做什么。

最佳答案

您可以使用 https://www.dropzonejs.com/实现你的文件上传。他们有关于如何使用它的完整文档,而且它是免费的。

关于php - 使用带有 html 和 php 的文件页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64779551/

相关文章:

javascript - 单击按钮时删除正确的行

php - php中的 "::"符号有什么用?

PHP strtotime 按工作日递增

javascript - 有没有办法获取 HTML 元素的路径

Javascript/HTML 如何通过 HTML 输入/文本框动态删除 javascript 数组的元素

javascript - 未捕获的语法错误 : Unexpected token <

c - 在 C 中的 linux 上如何生成大小为 X 的文件?

jquery - javascript 如何检查文件是否存在?

Python IOError : File not open for reading

php - 如何确保文件是 XML 文件