PHP HTTP文件上传变量$_FILES-php文件
1.一个简单的文件上传
例:
upload_file.html
<html>
<head>
<title>upload_file.html</title><!--标题名称为upload_file.html-->
<meta charset="utf-8"><!--外部脚本文件中使用的字符编码为utf-8 中文-->
</head>
<body>
<form enctype="multipart/form-data" action="upload_file.php" method="post"><!--使用POST的方式上传文件,并传递给upload_file.php处理-->
<input type="hidden" name="MAX_FILE_SIZE" value="32000" /><!--表示此表单中上传文件每个都不能超过32000个字节-->
上传文件: <input name="sendfile" type="file" /><br /><!--表示上传的是文件类型,并将上传文件的详细信息存储在$_FILWS['sendfile']中-->
<input type="submit" value="上 传" /><!--表单上传按钮-->
</form>
</body>
</html>
upload_file.php
<?php
print "<pre>";
$store_dir = 'd:\\wamp64\www\phptest\\upload\\';//文件上传后存储在服务器的路径
$uploadfile = "$store_dir".basename($_FILES['sendfile']['name']);//上传文件的原始名字
$uploadfile_tmp = $_FILES['sendfile']['tmp_name']; //上传文件的临时名字
$err_msg = $_FILES['sendfile']['error']; //上传文件时产生的错误信息
if ( $err_msg ) { //如果存在错误代码则打印出来
print "错误代码:$err_msg<br>";
}
if (!is_writeable($store_dir)){//检查上传文件夹是否可写,不可写则打印错误信息并退出
print "$store_dir 目录不可写\n";
exit;
}
else {
print "$store_dir 目录可写\n"; //可写则打印正确信息
}
if ( isset ($_FILES['sendfile']) ) {//检查上传文件是否存在,如存在则对其进行下一步操作
if (is_uploaded_file($uploadfile_tmp)) {
print "文件检验成功\n";
}
else {
print "文件检验失败,可能遭受文件上传攻击!";
exit;
}
if (move_uploaded_file($uploadfile_tmp, $uploadfile)) {//对上传的合法文件,将其重命名并移动服务器的上传文件夹中
print "文件移动成功\n";
}
else {
print "移动文件失败,可能遭受文件上传攻击!";
exit;
}
print "文件上载成功!<br>";
}
else {
print "文件上载失败! <br>";
}
print '$_FILES=';
print_r($_FILES);//打印$_FILES数组信息
print "</pre>";
?>
结果:
2.俩个文件同时上传
例:
upload_file_m.html
<html>
<head>
<title>upload_file.html</title><!--标题名称为upload_file.html-->
<meta charset="utf-8"><!--外部脚本文件中使用的字符编码为utf-8 中文-->
</head>
<body>
<form enctype="multipart/form-data" action="upload_file_m.php" method="post"><!--使用POST的方式上传文件,并传递给upload_file_m.php处理-->
<input type="hidden" name="MAX_FILE_SIZE" value="1000" /><!--表示此表单中上传文件每个都不能超过1000个字节-->
上传文件1: <input name="sendfile[]" type="file" /><br /><!--表示上传的是文件类型,并将上传文件的详细信息存储在$_FILWS['sendfile']中-->
上传文件2: <input name="sendfile[]" type="file" /><br />
<input type="submit" value="上 传" /><!--表单上传按钮-->
</form>
</body>
</html>
upload_file_m.php
<?php
print "<pre>";
$store_dir = 'd:\\wamp64\www\phptest\\upload\\';//文件上传后存储在服务器的路径
foreach ($_FILES["sendfile"]["error"] as $key => $error) { //遍历方式取出上传文件变量数组$_FILES['sendfile']中每个error值
if ($error == UPLOAD_ERR_OK) {
$uploadfile_tmp = $_FILES['sendfile']['tmp_name'][$key];
$uploadfile = "$store_dir". basename($_FILES['sendfile']["name"][$key]);
move_uploaded_file( $uploadfile_tmp, $uploadfile );//利用循环移动上传所有文件,从而实现对文件的保存
}
}
print '$_FILES=';
print_r($_FILES);//打印$_FILES数组信息
print "<pre>";
?>
结果:
相关内容
-
在wps中粘贴保留原格式化|wps中复制文件保留原
在wps中粘贴保留原格式化|wps中复制文件保留原有格式,格式化,...
-
什么是boot.ini文件错误ini的非法解决方案
什么是boot.ini文件错误ini的非法解决方案,,千奇百怪的电脑问...
-
鼠标不能拖动文件了
鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电...
-
Outlook的PST文件损坏的修复方法
Outlook的PST文件损坏的修复方法,文件, ...
-
电脑什么文件不能删除文件|电脑中哪些文件不能
电脑什么文件不能删除文件|电脑中哪些文件不能删除,,电脑中哪...
-
字符库快捷键|字符串快捷键
字符库快捷键|字符串快捷键,,1. 字符串快捷键1、单行注释单行...
-
电脑上怎样打文件|电脑上怎样打文件符号
电脑上怎样打文件|电脑上怎样打文件符号,,电脑上怎样打文件符...
-
wps插入罗马字符页码|wps插入罗马数字
wps插入罗马字符页码|wps插入罗马数字,罗马,页码,插入,字符,1....
-
将wps转为EX|把WPS文件转为excel表格
将wps转为EX|把WPS文件转为excel表格,转为,如何将,wps,1.怎么...
-
电脑字幕手机怎么载入|电脑字幕手机怎么载入文
电脑字幕手机怎么载入|电脑字幕手机怎么载入文件,,电脑字幕手...
-
u盘看不到文件其他电脑可以看到|电脑里看不到u
u盘看不到文件其他电脑可以看到|电脑里看不到u盘,,1. 电脑里看...
-
联想笔记本电脑主板颜色|联想笔记本颜色配置文
联想笔记本电脑主板颜色|联想笔记本颜色配置文件,,联想笔记本...
-
电脑文件或丢失开不了机|电脑文件或丢失开不了
电脑文件或丢失开不了机|电脑文件或丢失开不了机,还没有键盘...
-
复打印快捷键|复印文件快捷键
复打印快捷键|复印文件快捷键,,1. 复印文件快捷键电脑截屏全选...
-
共享文件夹设置|怎么设置共享文件夹
共享文件夹设置|怎么设置共享文件夹,,怎么设置共享文件夹第一...