首页 > 解决方案 > 如何将文件从表单输入发送到服务器

问题描述

我正在这个网站上工作,我需要将文件从我的表单发送到服务器。

文件输入 HTML 的部分:

<div class="custom-file">
            <input id="inputGroupFile03" type="file" class="custom-file-input">
            <label class="custom-file-label" for="inputGroupFile03" id='labelnextInput'>Sélectionnez un fichier</label>
</div>

还有我正在研究的 PHP:

<?php

$targetdir = '/uploads/';


if(isset($_FILES['namefile']['name'])){
    $target_file = $targetdir . basename($_FILES['nameFile']['name']);
};

$uploadOk = 1;

if(isset($_POST['submit'])){
    $check = getimagesize($_FILES['nameFile']['tmp_name']);
    
    if($check != False){
        echo 'Ce fichier est une image -' . $check['mime'] . '.';
    }else{
        echo 'Type de ficher incorrect';
        $uploadOk = 0;
    }
}

header('Location: /aftersubmit.html');

?>

提交表单后,PHP 脚本运行并将我重定向到 aftersubmit.html 页面,但表单中的文件不在 /uploads/ 文件夹中,并且无处显示。

谢谢 !

标签: phphtmlforms

解决方案


您只能使用 POST(以及表单不支持的方法)请求提交文件。它们不能在 GET 请求的 URL 中编码(并且该enctype属性对 GET 表单没有影响)。更改表单元素的方法。


推荐阅读