【问题标题】:php: file load with "enctype="multipart/form-data"" not workingphp:使用“enctype =“multipart/form-data””的文件加载不起作用
【发布时间】: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"] 作为第一步呢?即使它与您当前的问题无关,这也是显而易见的事情。

标签: php html forms


【解决方案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>

【讨论】:

  • 啊对不起,复制/粘贴问题是错误的,原始代码不同。让我编辑我的问题。谢谢。
猜你喜欢
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
  • 2017-12-17
  • 2016-04-02
  • 1970-01-01
  • 1970-01-01
  • 2018-04-07
  • 2010-11-05
相关资源
最近更新 更多