Php 如何验证文件上载字段?
我似乎无法验证文件上载字段,以下是我的代码:Php 如何验证文件上载字段?,php,Php,我似乎无法验证文件上载字段,以下是我的代码: <?php if (isset($_POST['submit'])) { if ($_POST['uploadFile']) { echo "File uploaded"; } else { echo "No file attempted to be uploaded"; } } ?> <form action=""
<?php
if (isset($_POST['submit'])) {
if ($_POST['uploadFile']) {
echo "File uploaded";
} else {
echo "No file attempted to be uploaded";
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="uploadFile" />
<input type="submit" name="submit" />
</form>
您要查找的超全局文件是$\u文件
var_dump($_FILES); //to see what's happening with the uploaded files
要确保发出POST请求,您可以使用以下行:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
//A post request!
}
至于验证,请查看
是否已上载\u文件()
,然后继续阅读。在本脚本中,我们为文件上载添加了一些限制。用户只能上载.gif或.jpeg文件,且文件大小必须小于20 kb:
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
else
{
echo "Invalid file";
}
?>
在用PHP上传文件时,我认为$\u FILES[$file]['error']是你最好的朋友!它将其分解为8种可能的情况,0表示文件上传正常,所以下面类似的内容应该可以做到这一点
if($_FILES[$file]['error']==0)
// proceed
else
switch($_FILES[$file]['error'])
// debugging
is_uploaded_文件已被弃用。@Alix,您在哪里确定的?is_uploaded_文件(PHP4>=4.0.3)和(由于PHP4.2.0,PHP会随文件数组返回一个适当的错误代码)。它不是真的被弃用,但是使用它没有任何意义,因为$u文件中的错误索引也有相同的作用,并且更具描述性。也请阅读此注释。或者您可以到Acard21发现此代码的地方亲自查看。没错,很抱歉我自己没有发布此链接,我不想因为基本脚本而受到表扬。
if($_FILES[$file]['error']==0)
// proceed
else
switch($_FILES[$file]['error'])
// debugging