当包含输入类型文件时,不提交表单

时间:2015-10-05 09:49:52

标签: php html5

我正在尝试上传图片文件,它在前一天运作良好。

今天,当我创建另一个输入文件时,它出错了。然后我尝试了单输入文件,但它没有工作。

这是我的代码:

<?php
$isSubmit=filter_input(INPUT_POST, "submit");
if(isset($isSubmit){
    echo $_POST["fileToUpload"];
}
else {
    echo "not submited";
}

?>

<!DOCTYPE html>
<html>
<body>

<form action="#" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="submit" name="submit">
</form>

</body>
</html> 

现在,如果表单已提交,则转到其他部分并显示&#34; 未提交&#34;在浏览器上。如果我加载任何其他页面或同一页面,浏览器会说&#34; localhost正在等待.. &#34;

然后,除非我重新启动服务器,否则项目无法加载。

但是当输入类型文件更改为文本或其他文件时,它会顺利进行。

我查看 php.ini文件 最大文件大小或文件上传或发布最大文件没有问题。

3 个答案:

答案 0 :(得分:0)

这是修改后的代码,它在我的系统上的工作看看

更改var_dump( $_FILES["fileToUpload"]);

echo $_POST["fileToUpload"];

您无法从$_POST获取文件,您需要调用所有上传文件信息所在的数组$_FILES

并且您不能直接echo这是因为它是一个数组而不是字符串

<?php
$isSubmit=filter_input(INPUT_POST, "submit");
if(isset($isSubmit))
{
    var_dump( $_FILES["fileToUpload"]);
}
else {
    echo "not submited";
}

?>

<!DOCTYPE html>
<html>
<body>

<form action="#" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="submit" name="submit">
</form>

</body>
</html> 

答案 1 :(得分:0)

试试这个:它应该显示文件数组。

<?php
$isSubmit=filter_input(INPUT_POST, "submit");
if(isset($isSubmit)){//close your if block
    print_r($_FILES["fileToUpload"]);//print file data
}
else {
    echo "not submited";
}

?>

如果你在窗口尝试这样做:

打开localhost(wamp / xampp),单击服务器图标,转到PHP,PHP设置,然后选择文件上载,即启用文件上传。

答案 2 :(得分:0)

如果您确实没有收到result['objects'] = [person_deserializer(obj) for obj in result['objects']]按钮字段数据并且收到apimanager.create_api(Person,methods=['GET', 'POST','PUT', 'DELETE'],,那么最有可能的是您的postprocessors={设置一团糟。

这些'GET_MANY':[person_after_get_many]设置都与文件上传有关:

}

由于您似乎缺少提交按钮,我会说您的问题可能是)对于文件和表单上的其他字段而言不够大。

估算ISNULL的简单经验法则是

long

请检查所有这些参数的值,如果您不确定要将Nullable<long>的实际值发布后的更改作为对问题的修改,我们可以提出一些建议