PHP中的文件上传不起作用?

时间:2018-01-18 02:27:38

标签: php

我的文件上传系统无法正常工作,当我致电move_uploaded_file()时,它不会返回true。这是我的代码,不确定我是否只是盲目:

HTML:

<form action="updatecheat.php" method="POST">
                            <label for="version">Version:</label>
                            <input type="text" class="form-control" id="version" name="version" placeholder="New Version Number" />
                            <input type="hidden" name="referrer" id="referrer" value="coven-updates.php" />
                            <div class="custom-file-upload">
<label for="covenupdate">Upload "Coven.exe"</label>
<input type="file" id="covenupdate" name="covenupdate" />
</div>

<br /><br />

<button type="submit" name="submit" id="submit" class="btn btn-success waves-effect waves-light m-r-10">Update</button>
</form>

PHP:

$errors= array();
          $file_name = $_FILES['covenupdate']['name'];
          $file_size =$_FILES['covenupdate']['size'];
          $file_tmp =$_FILES['covenupdate']['tmp_name'];
          $file_type=$_FILES['covenupdate']['type'];



if(move_uploaded_file($file_tmp,"../Coven/Utilites/Update/".$file_name)){
                $fn = "../Coven/Utilities/Version.txt"; 
            $file = fopen($fn, "w+"); 
            $size = filesize($fn); 

            fwrite($file, $_POST['version']); 

            $text = fread($file, $size); 
            fclose($file);

            header("Location: urlhere");

             } else {
                header("Location: urlhere");
             }

我不知道为什么它没有正确上传。任何帮助表示赞赏! 谢谢!

3 个答案:

答案 0 :(得分:3)

使用表单标记时,您缺少一个属性enctype ='multipart / form-data',这是您在处理上传文件时必须使用的。

因此,只需将表单标记更改为:

class Child extends Component {
     { myVar } = this.props;
     \\use myVar
}

答案 1 :(得分:1)

你需要包含文件ulpload的enctype才能工作.i.e enctype =“multipart / form-data”

答案 2 :(得分:0)

尝试使用添加属性enctype='multipart/form-data'

文件将存储在临时位置,使用tmp_name代替名称

if(move_uploaded_file($file_tmp,"../Coven/Utilites/Update/".$file_name)){