php:使用“enctype =“multipart/form-data””的文件加载不起作用
Posted
技术标签:
【中文标题】php:使用“enctype =“multipart/form-data””的文件加载不起作用【英文标题】:php: file load with "enctype="multipart/form-data"" not working 【发布时间】:2022-01-24 05:20:15 【问题描述】:我是 php/html 的菜鸟。我正在尝试加载文件,但我的代码不起作用,总是出错。 php:
<?php if(isset($_POST["upload"])) ?>
<div class="col-md-12"> <?
$target_file= "firmware/". basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
echo "file". basename( $_FILES["fileToUpload"]["name"]). " loeded";
else
echo "Error";
?>
</div>
<? ?>
不工作的html:
<div class="col-sm-12">
<div class="row">
<form method="post" action="?s=firmware" enctype="multipart/form-data" ><div class="col-sm-6">
<div class="form-group">
<input type="file" name="fileToUpload" id="fileToUpload" class="form-control">
</div></div>
<div class="col-sm-5">
<div class="form-group">
<button type="submit" name="upload" value="upload" class="btn btn-primary">Upload</button>
</div></div>
</form>
</div>
</div>
当我输入另一个表格时,它正在工作:
<div class="col-sm-12">
<div class="row">
<form method="post" action="?s=firmware" enctype="multipart/form-data" ><div class="col-sm-6">
</form>
<form method="post" action="?s=firmware" enctype="multipart/form-data" ><div class="col-sm-6">
<div class="form-group">
<input type="file" name="fileToUpload" id="fileToUpload" class="form-control">
</div></div>
<div class="col-sm-5">
<div class="form-group">
<button type="submit" name="upload" value="upload" class="btn btn-primary">Upload</button>
</div></div>
</form>
</div>
</div>
你能帮我解决一下吗?
【问题讨论】:
您在代码中的任何地方都没有检查'error'
键以确定是否有上传并且上传成功。
我的意思是“回声”错误“;”。我打印了加载的文件,但它显示空白“”。
但是,为什么不把$_FILES["fileToUpload"]["error"]
作为第一步呢?即使它与您当前的问题无关,这也是显而易见的事情。
【参考方案1】:
请看一看。你在 PHP 标记中犯了一个错误。
<?php if(isset($_POST["upload"]))
// Desired directory structure
$structure = './firmware';
// to mkdir() must be specified.
if (!file_exists($structure))
mkdir($structure, 0777, true);
?>
<div class="col-md-12"> <?php
$target_file= "firmware/". basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
echo "file". basename( $_FILES["fileToUpload"]["name"]). " loeded";
else
echo "Error";
?>
</div>
<div class="col-sm-12">
<div class="row">
<form method="post" action="?s=firmware" enctype="multipart/form-data" ><div
class="col-sm-6">
<div class="form-group">
<input type="file" name="fileToUpload" id="fileToUpload"
class="form-control">
</div></div>
<div class="col-sm-5">
<div class="form-group">
<button type="submit" name="upload" value="upload"
class="btn btn-primary">Upload</button>
</div></div>
</form>
【讨论】:
啊对不起,复制/粘贴问题是错误的,原始代码不同。让我编辑我的问题。谢谢。以上是关于php:使用“enctype =“multipart/form-data””的文件加载不起作用的主要内容,如果未能解决你的问题,请参考以下文章
排除在“enctype=‘multipart/form-data’”之外的MultipartException
php:使用“enctype =“multipart/form-data””的文件加载不起作用