php-form-b​​uilder-class文件未上传

时间:2013-02-01 21:40:49

标签: php forms file-upload

我正在尝试让文件元素在pfbc中运行,但除$_POST['AvatarLrg']中的文件名外,我没有得到任何其他内容,$_FILES为空。有没有人有一个我可以仔细阅读的工作实例?

在顶部:

<?php
$form = new Form('trucking_edit');
$form->configure(array( "enctype" => "multipart/form-data" ));
$form->addElement(new Element_File("Profile Avatar:", "AvatarLrg"));
$form->addElement(new Element_Button);
?>

在身体里:

<?php $form->render(); ?>

表单显示正常,所有其他元素显示并正常工作,只有文件:/ 任何帮助表示赞赏。

编辑:生成的HTML:

<form method="POST" id="edit_profile" action="profile.php?pid=16&edit=save" name="tf_profileedit">
...
<div class="control-group">
   <label class="control-label" for="trucking_edit-element-3">Profile Avatar:</label>
   <div class="controls">
      <input type="file" name="AvatarLrg" id="trucking_edit-element-3"/>
   </div>
</div>
...
</form>

3 个答案:

答案 0 :(得分:1)

我从未使用过类,但错误原因是在表单标记中缺少enctype属性。

请检查代码中的$form->configure(array( "enctype" => "multipart/form-data" ));行。

答案 1 :(得分:0)

<form method="POST" enctype='multipart/form-data' id="edit_profile" action="profile.php?pid=16&edit=save" name="tf_profileedit">
...
<div class="control-group">
   <label class="control-label" for="trucking_edit-element-3">Profile Avatar:</label>
   <div class="controls">
      <input type="file" name="AvatarLrg" id="trucking_edit-element-3"/>
   </div>
</div>
...
</form>

你忘记了enctype

答案 2 :(得分:0)

我发现了问题;页面上的另一个表单是干扰它(它们因旧代码而重叠)。我删除了另一个表单,它的工作原理。我还可以删除enctype行,因为PBFC在添加文件元素时会自动更改enctype。谢谢大家帮助。