php
echo '_FILES: ';
// 标签的一个常见应用就是用来表示计算机的源代码。
print_r ($_FILES );
echo '_POST: ';
print_r ($_POST );
?>
_FILES[]是二维数组。array[uploadFile]键名取决于 type="file"标签中的的name值。它标记的是这个控件的上传文件信息,因此我们可以放多个上传控件,设置不同的name,当然设置一样的name也可以,完全可以把它们全放在一个数组里边,如 。error表示错误,有这么几种情况,0:没有错误,上传成功; 1:文件超过了PHP配置指令中的upload_max_filesize规定的大小; 2:文件超过HTML表单中MAX_FILE_SIZE规定的大小,3:文件只有部分上传; 4:没有文件上传。(size问题仍没有弄清楚╮(╯_╰)╭,就暂时先不做说明)
php
$typeWhiteList = array ('txt', 'doc', 'php', 'zip', 'exe'); // 类型白名单,过滤不允许上传的文件类型
$max_size = 1000000; // 大小限制 为1M
$upload_path = 'D:/WAMP'; // 指定移至的目录
// 1、判断是否成功上传到服务器
$error = $_FILES ['uploadFile']['error'];
if ($error > 0){
switch ($error ){
case 1: exit ('超过php配置的最大文件上传限制');
case 2: exit ('超过HTML表单的最大文件上传限制');
case 3: exit ('文件只有部分被上传');
case 4: exit ('没有上传任何文件');
default : exit ('未知类型错误');
}
}
// 2、判断是否为允许上传的类型
$extension = pathinfo ($_FILES ['uploadFile']['name'], PATHINFO_EXTENSION); // 获取扩展名
if (!in_array ($extension , $typeWhiteList )){
if ($extension == '')
exit ('不允许上传空类型文件');
else
exit ('不允许上传'.$extension .'类型文件');
}
// 3、判断是否为允许大小
if ($_FILES ['uploadFile']['size'] > $max_size ){
exit ('超过了允许上传到的'.$max_size .'字节');
}
// 4、已到指定位置
$filename = date ('Ymd').rand (1000, 9999); // 生成一个新文件名,防止覆盖
if (is_uploaded_file ($_FILES ['uploadFile']['tmp_name'])){ // 判断是否通过HTTP POST上传
if (!move_uploaded_file ($_FILES ['uploadFile']['tmp_name'], $upload_path .$filename .'.'.$extension )){
exit ('无法移动到指定位置');
}
else {
echo '文件上传成功 ';
echo '文件名: '.$upload_path .$filename .'.'.$extension .' ';
}
}
else {
exit ('文件未通过合法途径上传');
}
上传完成..............
文件下载--->单的文件下载只需要用一个HTML链接就够了,使用标签,href属性指定资源位置,一点就可。但这种方式只能处理浏览器默认无法识别的MIME类型,(MIME具体附wiki百科http://zh.wikipedia.org/wiki/%E5%A4%9A%E7%94%A8%E9%80%94%E4%BA%92%E8%81%AF%E7%B6%B2%E9%83%B5%E4%BB%B6%E6%93%B4%E5%B1%95)
donwload file
header .txt
php.zip
pic.ico
对于这些浏览器不认识的类型文件,点链接,它直接弹框让你下载,有的浏览器甚至直接就下了,那么对于文本txt、jpg等浏览器默认识别的类型的文件,一点击则会直接展现在页面上,比如上面header.txt、pic.ico。如何不展示在页面上而去下载它们呢,使用header函数。
header函数会通过发送头信息告知,请把该文件当成一个附件,这样点击的时候,就也会下载了。(还不是非常理解,完全理解了再补充╮(╯_╰)╭)
哦了~ 第一篇博文→_→
再次声明转载地址http://www.cnblogs.com/lazycat-cz/p/4113037.html