Php 为什么没有设置$\u文件
这是我的html表单的一个片段Php 为什么没有设置$\u文件,php,html,forms,file,file-upload,Php,Html,Forms,File,File Upload,这是我的html表单的一个片段 <form class="form-horizontal" role="form" method="post" enctype="multipart/form-data"> <div class="form-group"> <label for="profilepictureinput">Profile Picture</label> <input type="file"
<form class="form-horizontal" role="form" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="profilepictureinput">Profile Picture</label>
<input type="file"
id="profilepictureinput"
name="profilepicture">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
返回false。这是为什么?将
$\u文件更改为$\u文件
isset($_FILES['profilepicture'])
如果未提交表单,它将返回false
。提交后,它将返回true
,正如Tom Kriek所说,正确的语法是:
$_FILES['profilepicture']
首先,若表单已提交,则需要先与$\u POST核对,然后才能从$\u文件中获取信息。
你应该这样写:
<form class="form-horizontal" role="form" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="profilepictureinput">Profile Picture</label>
<input type="file" id="profilepictureinput" name="profilepicture">
</div>
<button type="submit" class="btn btn-default" name="new-picture">Submit</button>
</form>
";
退回$out;
}
因为它是$\u文件请检查此链接:很抱歉,我使用了$\u文件,但它仍然不起作用。如果是这样的话,发布更多代码以供参考可能会有所帮助。请打印完整的$\u文件数组。检查其中的实际内容。
<form class="form-horizontal" role="form" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="profilepictureinput">Profile Picture</label>
<input type="file" id="profilepictureinput" name="profilepicture">
</div>
<button type="submit" class="btn btn-default" name="new-picture">Submit</button>
</form>
<button type="submit" class="btn btn-default" name="new-picture">Submit</button>
<?php
//$newImageSubmitted is TRUE if form was submitted, otherwise FALSE
$newImageSubmitted = isset( $_POST['new-image'] );
if ( $newImageSubmitted ) {
//this code runs if form was submitted
$output = upload();
} else {
//this runs if form was NOT submitted
$output = include_once "views/upload-form.php";
}
return $output;
function upload(){
$out = "<pre>";
$out .=print_r($_FILES, true);
$out .= "</pre>";
return $out;
}