设为首页 收藏本站
查看: 469|回复: 0

[经验分享] php学习笔记(十)文件的上传与下载

[复制链接]

尚未签到

发表于 2017-4-9 10:35:50 | 显示全部楼层 |阅读模式
<?php
/**
* 文件上传和下载
* 1.表单提交
*         表单必须要改的method="post"
*         enctype="multipart/form-data"
*         php.ini:
*             file_uploads=On;
*             upload_max_filesize = 2M;//上传限制
*             post_max_size = 8M;//表单传递的最大尺寸
*        $myfile1[type]:可以用来控制上传文件的类型
*            type是MIME类型:网络
*                text
*                    text/html
*                    text/plain
*                image
*                    image/gif
*                    image/jpeg
*                    image/png
*                audio
*                    audio/x-midi .mid .midi
*                    audio/x-wav
*                video
*                    video/quicktime .qt .mov
*                    video/mpeg .mpeg
*                application
*                    application/pdf
*                    application/msword .doc .dot
*                    application/vnd.ms-excel .xls
*                    application/vnd.ms-powerpoint .ppt
*                    application/zip .zip
*                    application/rar .rar
*                    application/xml .xml
*                    application/mshelp .hlp .chm
*                    application/octet-stream .ext .bin .com .dll
*                multipart
*                message
* 2.对文件的操作
*         上传文件拷贝的函数:
*             move_uploaded_file()
*         error的提示符及原因:
*             case 1:上传文件超过了upload_max_filesize这个值
*             case 2:上传文件超过了表单中MAX_FILE_SIZE选项指定的值
*             case 3:文件只有部分被上传
*             case 4:没有文件上传
*
* 3.下载文件(在下载页面,只允许写如下代码,不可以写其他的html多余代码)
*         对于图片和html或者php下载应该写头
*             header();方法前不许有输出,即使是html也不可以
*         图片下载:
header("Content-type:image/jpeg");
//设置下载文件
header('Content-disposition:attachment:filename='.$filename);
*         
*/
$filename = "one.html";
//设置下载类型
header("Content-type:text/html");
//设置下载文件
header('Content-Disposition:attachment;filename='.$filename);
//设置文件下载大小
header("Content-Length:".filesize($filename));
$fp = fopen($filename, "r");
while (feof($fp)==FALSE){
echo fread($fp, 1024);
}
fclose($fp);
?>

<html>
<head>
<title>文件上传</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="username"><br>
密码:<input type="password"" name="password"><br>
<hr><br>
<input type="file" name="myfile1">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input type="file" name="myfile2">
<input type="file" name="myfile[]">
<input type="file" name="myfile[]">
<input type="file" name="myfile[]">
<input type="file" name="myfile[]">
<input type="file" name="myfile[]">
<input type="file" name="myfile[]">
<input type="file" name="myfile[]">
<input type="submit" value="提交"><br>
</form>
</body>
</html>

<?php
$username = $_POST["username"];
$password = $_POST["password"];
//可以重名;然后按照数组来取值
$myfile1 = $_FILES["myfile1"];
$myfile2 = $_FILES["myfile2"];
$name3 = $_FILES["myfile"][name][0];
$name4 = $_FILES["myfile"][name][1];
$name5 = $_FILES["myfile"][name][2];
print_r($_FILES)."<br>";
echo "用户名:".$username."密码:".$password."<br>";
echo "文件一名:".$myfile1[name]."<br>";
echo "文件一类型:".$myfile1[type]."<br>";
echo "文件一文件路径:".$myfile1[tmp_name]."<br>";
echo "文件一错误信息:".$myfile1[error]."<br>";
echo "文件二:".$myfile2[name]."<br>";
echo "文件三:".$name3."<br>";
echo "文件四:".$name4."<br>";
echo "文件五:".$name5."<br>";
$uploadfile = $myfile1[name];
$copyto = "test/".time().$uploadfile;
if (is_uploaded_file($uploadfile)){
if (move_uploaded_file($uploadfile, $copyto)){
echo "上传文件成功<br>";
}else{
echo "上传文件失败<br>";
}
}
?>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-362315-1-1.html 上篇帖子: 针对PHP的网站主要存在下面几种攻击方式 下篇帖子: 针对PHP的网站主要存在下面几种攻击方式:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表