gpt4 book ai didi

PHP实现文件上传与下载

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP实现文件上传与下载由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例为大家分享了PHP实现文件上传与下载的具体代码,供大家参考,具体内容如下 。

主页index.php 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
< html >
< head >
  < title >图片操作</ title >
< style >
  #contains {
  width: 500px;
  margin: 0 auto;
  text-align: center;
  color: #0F0;
  }
  th {
  background: #ccc;
  }
  td {
  width: 150px;
  height: 50px;
  text-align: center;
  }
</ style >
</ head >
 
< body >
  < div id = "contains" >
  < h2 >图片上传和下载</ h2 >
  <!----------------文件上传表单------------->
  < form action = "doupload.php" method = "post" enctype = "multipart/form-data" >
   < input type = "hidden" value = "10000000" /> <!---避免上传后发现文件过大--->
   < input type = "file" name = "pic" />
  < input type = "submit" value = "上传" />
  </ form >
  <!--------------------------------------->
  < table width = "500" border = "0" >
  < tr >
   < th >序号</ th >< th >图片</ th >< th >添加时间</ th >< th >操作</ th >
  </ tr >
  <? php
   //1.打开目录
  $ dir = opendir ("./imgs");
  //2.遍历目录
  $ i = 0 ;
  $ color = "#ff0" ;
  while ($ f = readdir ($dir)){ //$f代表这每个文件的名字
    if ($f == '.' || $f == "..") continue; //处理特殊隐藏的文件
   $i++;
   if ($i % 2 == 0) $ color = "#ccc" ;
   else $ color = "#ffa" ;
   echo "<tr bgcolor=$color>";
   echo "< td >{$i}</ td >";
   echo "< td >< img src = './imgs/{$f}' width = '150' height = '50' /></ td >";
   echo "< td >".date("Y-m-d", filectime('./imgs/'.$f))."</ td >";
   echo "< td >< a href = './imgs/{$f}' >查看</ a >
     < a href = 'download.php?name={$f}' >下载</ a ></ td >";
   echo "</ tr >";
  // echo $f." ";
  }
  ?>
  </ table >
  </ div >
</ body >
</ html >

上传doupload.php 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
  /* echo "<pre>";
  var_dump($_FILES);
  echo "</pre>";*/
  //1.获取上传文件信息
  $upfile = $_FILES [ "pic" ];
  $path = "./imgs/" ;
  //2、过滤错误信息
  if ( $upfile [ "error" ] > 0) {
  die ( "上传文件错误" );
  }
  //3、本次上传文件的大小过滤
  if ( $upfile [ "size" ] > 10000000) {
  die ( "上传文件超出限制" );
  }
  //4、处理文件类型
  $typelist = array ( "jpeg" , "jpg" , "png" , "gif" );
  $arr = explode ( "." , basename ( $upfile [ 'name' ])); //以'.'分割字符串为数组
  $bz = array_pop ( $arr ); //获取文件的后缀名
  if (!in_array( $bz , $typelist )) { //如果给定的值 value 存在于数组 array 中则返回 true
  die ( "上传文件类型非法!" . $upfile [ "type" ]);
  }
  //5、设置相同文件的名字不同
  $newfile = date ( "YmdHis" ).rand(100, 999). "." . $bz ;
  //
  if ( is_uploaded_file ( $upfile [ "tmp_name" ])) { //判断文件是否是通过post上传
  //执行文件上传
  if (move_uploaded_file( $upfile [ "tmp_name" ], $path . $newfile )) { //将上传的文件保存在新位置
   echo "上传成功!" ;
  echo "<a href='index.php'>浏览</a>" ;
  } else {
   die ( "上传失败" );
  }
  }
?>

下载download.php 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
  //1.获取于要下载的文件名
  $file = "./imgs/" . $_GET [ "name" ];
// echo $file;
  //2.重设响应类型
  $info = getimagesize ( $file ); //获取文件大小
  // var_dump($info);
  header( "Content-Type:" . $info [ "mime" ]);
  //3.执行下载文件名
  header( "Content-Disposition:attachment;filename=" . $_GET [ "name" ]);
  //4.指定文件大小
  header( "Content-Length:" . filesize ( $file ));
  //5.响应内容
  readfile( $file );
?>

PHP实现文件上传与下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://blog.csdn.net/shofe11/article/details/37520749 。

最后此篇关于PHP实现文件上传与下载的文章就讲到这里了,如果你想了解更多关于PHP实现文件上传与下载的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com