例:

upload_file.html

<html>

phpfiles所有属性PHP HTTP文件上传变量FILES Docker

<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>\"大众;

?>

结果: