【发布时间】:2012-04-01 02:39:19
【问题描述】:
我正在使用一个简单的表单来上传 5 个文件:
<form enctype="multipart/form-data" action="openaccount.php" method="post">
<h4>Proof of Identity of Account Operator 1</h4>
<p>Government issued Photo ID to verify identity:
<br/><input name="tidentity_proof" type="file" />
<p>Documentation to verify permanent residential address:
<br/><input name="taddress_proof" type="file" />
<h4>Proof of Identity of Account Operator 2 (if any)</h4>
<p>Government issued Photo ID to verify identity:
<br/><input name="tidentity_proof2" type="file" />
<p>Documentation to verify permanent residential address:
<br/><input name="taddress_proof2" type="file" />
<h4>Signed Fund Agreement</h4>
<p>Choose a file to upload:
<br/><input name="tagreement" type="file" />
<input type="submit" name="submit" value="Submit" />
</form>
由于 5 个文件都是必填的,所以我在提交表单时检查一下是否所有 5 个文件都已上传:
if($_FILES['tidentity_proof']['name']=="" || $_FILES['tidentity_proof2']['name']=="" || $_FILES['taddress_proof']['name']=="" || $_FILES['taddress_proof2']['name']=="" || $_FILES['tagreement']['name']==""){
$_SESSION['message'].="You must upload files as identity proof.";
}
如果我为所有 5 个字段选择文件,前 4 个可以正常工作,但第 5 个不能。因此,如果我执行echo $_FILES['tagreement']['name'];,我会得到一个空字符串,如果我对所有其他人执行相同操作,则文件名会正确打印出来。我在这里错过了什么?
编辑:“tagreement”字段在列表中的最后一个并不重要,我尝试将它移到其他字段之前,但它仍然不起作用。
print_r($_FILES):
Array (
[tidentity_proof] => Array (
[name] => cathypersons_deerdoe.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpcfeBC9
[error] => 0 [size] => 40299
)
[taddress_proof] => Array (
[name] => cheetah20cubs.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpRp4qu1
[error] => 0 [size] => 84873
)
[tidentity_proof2] => Array (
[name] => cheetah20cubs.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpCpGkmT
[error] => 0
[size] => 84873
)
[taddress_proof2] => Array (
[name] => cathypersons_deerdoe.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpBUBheL
[error] => 0
[size] => 40299
)
)
【问题讨论】:
-
print_r($_FILES),你得到了什么? -
另外,关闭您的
<p>标签。虽然使用 HTML5 在技术上您不必这样做,但它确实会弄乱您的 HTML。 -
@Brad: Array ([tidentity_proof] => Array ([name] => cathypersons_deerdoe.jpg [type] => image/jpeg [tmp_name] => /tmp/phpcfeBC9 [error] => 0 [size] => 40299) [taddress_proof] => Array ([name] => cheetah20cubs.jpg [type] => image/jpeg [tmp_name] => /tmp/phpRp4qu1 [error] => 0 [size] = > 84873 ) [tidentity_proof2] => 数组 ( [name] => cheetah20cubs.jpg [type] => image/jpeg [tmp_name] => /tmp/phpCpGkmT [error] => 0 [size] => 84873 ) [taddress_proof2 ] => 数组 ( [name] => cathypersons_deerdoe.jpg [type] => image/jpeg [tmp_name] => /tmp/phpBUBheL [error] => 0 [size] => 40299 ) )
-
您上传的文件是否比 PHP 配置的文件大?
-
不是 Alex,它们是图片,不超过 100kb。
标签: php html forms file upload