php - 如何将文件从表单输入发送到服务器
问题描述
我正在这个网站上工作,我需要将文件从我的表单发送到服务器。
文件输入 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/ 文件夹中,并且无处显示。
谢谢 !
解决方案
您只能使用 POST(以及表单不支持的方法)请求提交文件。它们不能在 GET 请求的 URL 中编码(并且该enctype
属性对 GET 表单没有影响)。更改表单元素的方法。
推荐阅读
- python - 计算 3D 点云的 EMD 非常慢
- ruby-on-rails - 从 rails 渲染过程为 Vue 模型设置值
- sql - Change number automatically with function
- java - JaCoCo(离线仪器)在
乐器 分析整个 pom.xml。但我只需要测试部分 - android - Layouts sometimes overlap in android fragment
- mysql - Determine customers that have spent money at the company for the first time, each month (mySQL)
- java - 查找数组 java 的最佳系数变量
- ionic-framework - 离子中的货币掩码
- javascript - How to take parameters from a URL
- ssis - 渐变维度向导历史属性选项 无开始日期可供选择