现在有点令人困惑的问题。我正在尝试设置一个表单来上传视频。
这是表格:
<form role="form" action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="upload" value="1">
<div class="row">
<div class="col-xs-6">
<span class="btn btn-lg btn-primary btn-block btn-file">
Browse... <input type="file" name="file">
</span>
</div><!-- col-xs-6 -->
<div class="col-xs-6">
<h4 class="feedback-field text-centered">No file selected.</h4>
</div><!-- col-xs-6 -->
</div><!-- row -->
<div class="row">
<h4 class="error-field text-centered"></h4>
</div><!-- row -->
<div class="row">
<div class="col-xs-4"></div>
<div class="col-xs-4">
<input type="submit" name="submit" class="btn btn-primary btn-lg btn-block upload-btn disabled" value="Upload">
</div>
<div class="col-xs-4"></div>
</div>
</form>
这是上传时的相关 PHP.php:
if(isset($_POST['upload'])){
// do things with the file here
} else {
echo "No file found.";
}
不幸的是,此表单似乎没有将任何文件传递到下一页。
如您所见,表单具有"enctype"值,这在上传视频时是必需的。但是,当表单具有该值时,它会中断,并且页面"upload.php"将不会收到任何 $_POST 数据(即,它将显示"找不到文件"消息。当然,如果没有 enctype,_FILES 美元是空的。
事情是这样的:我尝试更改它:
if(isset($_POST['upload'])){
对此:
if(isset($_FILES['file'])){
在这种情况下,我还会收到"找不到文件"消息。因此,似乎无论表单是否具有"enctype"属性,它都只是拒绝将文件传递到"上传.php"。
谁能在这里帮我?我或多或少迷茫了。谷歌并没有给我任何好的答案。
编辑:不知何故,这个问题在发布后的几秒钟内就被否决了 - 比任何人回答它的速度都要快。有人可能想调查这些明显欺诈性的反对票。
检查您的 php.ini 设置:
file_uploads 开启
max_file_uploads 20 20
post_max_size 8米 8米
upload_max_filesize 2米 2米
max_execution_time 18000 300
max_file_uploads 20 20
max_input_time 300 300
memory_limit 256米 1024米
为表单命名
<form role="form" action="upload.php" name="MyUpload" method="post" enctype="multipart/form-data">
更改提交输入的名称。
<input type="submit" name="VidUpload" class="btn btn-primary btn-lg btn-block upload-btn disabled" value="Upload">
检查是否已提交提交
if(isset($_POST['VidUpload'])){
// do things with the file here
echo "Form Submitted.";
} else {
echo "No file found.";
}
对于遇到相同问题的人,请查看此页面:
WAMP 上传大文件
该问题给出了您需要在 php.ini 文件中更改的值以允许更大的文件上传(这就是破坏表单的原因)。