本教程操作系统:windows10系统、php8.1.3版、dell g3电脑。
php编程语言中的常见的$_files系统函数用法有:
$_files['myfile']['name'] 显示客户端文件的原名称。
$_files['myfile']['type'] 文件的 mime 类型,例如image/gif。
$_files['myfile']['size'] 已上传文件的大小,单位为字节。
$_files['myfile']['tmp_name'] 储存的临时文件名,一般是系统默认。
$_files['myfile']['error'] 该文件上传相关的错误代码。
以下为不同代码代表的意思:
0; 文件上传成功。
1; 超过了文件大小php.ini中即系统设定的大小。
2; 超过了文件大小,max_file_size选项指定的值。
3; 文件只有部分被上传。
4; 没有文件被上传。
5; 上传文件大小为0。
实例:
<html><body><form action="upload_file.php" method="post"enctype="multipart/form-data"><label for="file">filename:</label><input type="file" name="file" id="file" /><br /><input type="submit" name="submit" value="submit" /></form></body></html
php处理代码
本文章来简单的介绍一下在php中文件图片上传时的一个$_files重要的全局变量的种个参数,有需要了解的朋友可以参考一下。
文件上传表单的处理
代码如下:
<form action="post.php" enctype="multipart/form-data" method="post"><input name="max_file_size" type="hidden" value="1000" /><input name="upfile" type="file" /><input type="submit" value="上传文件" /></form>
files的变量的用法
$_files超级全局变量很特殊,他是预定义超级全局数组中唯一的二维数组。其作用是存储各种与上传文件有关的信息,这些信息对于通过php脚本上传到服务器的文件至关重要。此函数中总共有5项:
1、$_files["userfile"]["error"]
$_files["userfile"]["error"]数组值提供了与上传尝试结果有关的重要信息。总共有5个不同的返回值,其中一个表示成功的结果,另外4个表示在尝试中出现的特殊错误。灭个返回值的名字和将在后面介绍。
2、$_files["userfile"]["name"]
$_files["userfile"]["name"]变量指定客户端机器上声明的文件最初的名字,包括扩展名。因此,如果浏览器一个名为vacation.jpg的文件,并通过表单上传,则此变量的值将是vacation.png。
3、$_files["userfile"]["size"]
$_files["userfile"]["size"]变量指定从客户端上传的文件的大小,以字节为单位。因此,在vacation.jpg文件的例子中,此函数可能赋值为5253,大约为5kb.
4、$_files["userfile"]["tmp_name"]
$_files["userfile"]["tmp_name"]变量指定上传到服务器后为文件赋予的临时名。这是存储在临时目录(由php指令upload_tmp_dir指定)中时所指定的文件名。
5、$_files["userfile"]["type"]
$_files["userfile"]["type"]变量指定从客户端上传的文件的mime类型。因此,在 vacation.jpg文件的例子中,此变量会赋值为image/jpeg。如果上传的是pdf,则赋值为application/pdf。因为这个变 量有时会得到意外的结果,所以应当在脚本中显示地进行验证。
$_files['myfile']['error'] 和该文件上传相关的错误代码。['error'] 是在 php 4.2.0 版本中增加的。下面是它的说明:(它们在php3.0以后成了常量)
upload_err_ok值:0; 没有错误发生,文件上传成功。
upload_err_ini_size值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
upload_err_form_size值:2; 上传文件的大小超过了 html 表单中 max_file_size 选项指定的值。
upload_err_partial值:3; 文件只有部分被上传。
upload_err_no_file值:4; 没有文件被上传。值:5; 上传文件大小为0.
下面来看个完整的实例
简单文件上传
<html><body><form action="upload_file.php" method="post"enctype="multipart/form-data"><label for="file">filename:</label><input type="file" name="file" id="file" /><br /><input type="submit" name="submit" value="submit" /></form></body></html>php代码<?phpif ((($_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";}?>
对于ie,识别jpg文件的类型必须是pjpeg,对于firefox,必须是jpeg。
以上就是php中files怎么使用的详细内容。
