最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php文件上傳及下載附帶顯示文件及目錄功能

 更新時(shí)間:2017年04月27日 15:48:24   作者:v斌v  
這篇文章主要介紹了php文件上傳及下載附帶顯示文件及目錄功能,需要的朋友可以參考下

主頁面wenjianceshi.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>文件</title>
<link href="../FENGZHUANG/bootstrap/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" type="text/css" />
<script src="../FENGZHUANG/jquery-3.1.1.min.js"></script>
<script src="../FENGZHUANG/bootstrap/js/bootstrap.min.js"></script>
<style type="text/css">
  *{
    font-family:"微軟雅黑";}
  #wai{width:400px;
    margin:0 auto;
    padding:0px;}
  #chuanshu{
    width:400px;
    margin:0 auto;
    padding:0px;}
  .waibtn{
    width:100%;;
    height:30px;}
  .wjm,.wjbtn{
    width:50%;
    height:100%;
    float:left;
    }
</style>
</head>
<body>
<div id="chuanshu">
  <form role="form" action="upload.php" method="post" enctype="multipart/form-data">
   <div class="form-group">
    <label for="inputfile">文件輸入</label>
    <input type="file" name="file" id="inputfile">
   </div>
   <button type="submit" class="btn btn-default">上傳</button>
  </form>
</div>
<br /><br /><br />
<div id="wai">
<?php
session_start();
//定義目錄
$fname = "./a";//需要顯示的目錄
if(!empty($_SESSION["fname"]))
{
  $fname = $_SESSION["fname"];
}
$pname = dirname($fname); //取上級(jí)目錄
if(realpath($fname)=="D:\\wamp\\www\\lt\\a")//注意路徑的匹配
{
}//到達(dá)了需要顯示的最上層目錄就不顯示上一層標(biāo)簽了
else
{
  echo "<button type='button' id='prev' class='btn waibtn btn-success' url='{$pname}'>返回上一層</button>";
}
//遍歷目錄下的所有文件顯示
$arr = glob($fname."/*");
foreach($arr as $v)
{
  $name = basename($v); //從完整路徑中取文件名
  $name = iconv("gbk","utf-8",$name);
  if(is_dir($v))
  {
    echo "<button type='button' class='btn dir waibtn btn-primary' url='{$v}'>{$name}</button>";
  }
  else
  {
    echo "<button type='button' class='btn waibtn item btn-default' url='{$v}'><div class='wjm'>{$name}</div><div class='wjbtn'><a href='download.php? url={$v}'><input type='button' value='下載' url='{$v}' class='download btn btn-warning btn-xs' /></a>&nbsp;&nbsp;</div></button>";
  }
}
?>
</div>
</body>
<script type="text/javascript">
$(".dir").click(function(){
    var url = $(this).attr("url");
    $.ajax({
        url:"chuli2.php",
        data:{url:url},
        type:"POST",
        dataType:"TEXT",
        success: function(data){
            window.location.href="wenjianceshi.php" rel="external nofollow" rel="external nofollow" ;
          }
      });
  })
$("#prev").click(function(){
  var url = $(this).attr("url");
  $.ajax({
      url:"chuli2.php",
      data:{url:url},
      type:"POST",
      dataType:"TEXT",
      success: function(data){
          window.location.href="wenjianceshi.php" rel="external nofollow" rel="external nofollow" ;
        }
    });
  })</script>
</html>

顯示:

上傳處理頁面upload.php

<?php
if($_FILES["file"]["error"])
{
  echo $_FILES["file"]["error"];
}
else
{
  if($_FILES["file"]["size"]<10240000)
  {
    //防止文件名重復(fù)
    $filename = "./a/".time().$_FILES["file"]["name"];
    //轉(zhuǎn)碼
    $filename = iconv("UTF-8","gb2312",$filename);
    if(file_exists($filename))
    {
      echo "該文件已存在";
    }
    else
    {
      //保存文件
      move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
      header("location:wenjianchuanshu.php");
    }
  }
  else
  {
    echo "文件類型不對(duì)";
  }
}

點(diǎn)擊選擇文件之后選中了文件會(huì)顯示:

點(diǎn)擊上傳即可。

下載處理頁面download.php

<?php
$url = $_GET["url"];
$bname = basename($url);
header("Content-type:text/html;charset=utf-8"); 
$file_name="{$bname}"; 
//用以解決中文不能顯示出來的問題 
$file_name=iconv("utf-8","gb2312",$file_name); 
$file_sub_path=$_SERVER['DOCUMENT_ROOT']; 
$file_path="{$url}"; 
//首先要判斷給定的文件存在與否 
if(!file_exists($file_path)){ 
echo "沒有該文件"; 
return ; 
} 
$fp=fopen($file_path,"r"); 
$file_size=filesize($file_path); 
//下載文件需要用到的頭 
Header("Content-type: application/octet-stream"); 
Header("Accept-Ranges: bytes"); 
Header("Accept-Length:".$file_size); 
Header("Content-Disposition: attachment; filename=".$file_name); 
$buffer=10240000; 
$file_count=0; 
//向?yàn)g覽器返回?cái)?shù)據(jù) 
while(!feof($fp) && $file_count<$file_size){ 
$file_con=fread($fp,$buffer); 
$file_count+=$buffer; 
echo $file_con; 
} 
fclose($fp);

點(diǎn)擊下載會(huì)彈出下載框,然后進(jìn)行下載即可。

點(diǎn)擊文件夾或者上一層的處理頁面chuli2.php

<?php
session_start();
$url = $_POST["url"];
$_SESSION["fname"] = $url;

以上所述是小編給大家介紹的php文件上傳及下載附帶顯示文件及目錄功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • PHP論壇實(shí)現(xiàn)積分系統(tǒng)的思路代碼詳解

    PHP論壇實(shí)現(xiàn)積分系統(tǒng)的思路代碼詳解

    這篇文章主要介紹了PHP論壇實(shí)現(xiàn)積分系統(tǒng)的思路,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),文中通過代碼給大家補(bǔ)充介紹了thinkphp刪除圖片的方法實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2020-06-06
  • 分享個(gè)簡(jiǎn)單易懂且非常有用的laravel事件

    分享個(gè)簡(jiǎn)單易懂且非常有用的laravel事件

    這篇文章主要給大家介紹了一個(gè)簡(jiǎn)單易懂并且非常有用的laravel事件,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • 基于 Swoole 的微信掃碼登錄功能實(shí)現(xiàn)代碼

    基于 Swoole 的微信掃碼登錄功能實(shí)現(xiàn)代碼

    隨著微信的普及,掃碼登錄方式越來越被現(xiàn)在的應(yīng)用所使用。它因?yàn)椴挥萌ビ涀∶艽a,只要有微信號(hào)即可方便快捷登錄.這里基于微信公眾平臺(tái)的帶參數(shù)臨時(shí)二維碼,并且結(jié)合 Swoole 的 WebSocket 服務(wù)實(shí)現(xiàn)掃碼登錄
    2018-01-01
  • Laravel解決nesting level錯(cuò)誤和隱藏index.php的問題

    Laravel解決nesting level錯(cuò)誤和隱藏index.php的問題

    今天小編就為大家分享一篇Laravel解決nesting level錯(cuò)誤和隱藏index.php的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • thinkphp特殊標(biāo)簽用法概述

    thinkphp特殊標(biāo)簽用法概述

    這篇文章主要介紹了thinkphp特殊標(biāo)簽用法,實(shí)例分析了in、between、present、Empty等標(biāo)簽的用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • Smarty結(jié)合Ajax實(shí)現(xiàn)無刷新留言本實(shí)例

    Smarty結(jié)合Ajax實(shí)現(xiàn)無刷新留言本實(shí)例

    Smarty結(jié)合Ajax實(shí)現(xiàn)無刷新留言本實(shí)例...
    2007-01-01
  • 基于ThinkPHP實(shí)現(xiàn)的日歷功能實(shí)例詳解

    基于ThinkPHP實(shí)現(xiàn)的日歷功能實(shí)例詳解

    這篇文章主要介紹了基于ThinkPHP實(shí)現(xiàn)的日歷功能,結(jié)合實(shí)例形式詳細(xì)分析了基于thinkPHP實(shí)現(xiàn)日歷功能的相關(guān)界面布局、數(shù)據(jù)庫操作與日期時(shí)間運(yùn)算相關(guān)技巧,需要的朋友可以參考下
    2017-04-04
  • 文件上傳之SWFUpload插件(代碼)

    文件上傳之SWFUpload插件(代碼)

    這篇文章主要介紹了文件上傳之SWFUpload插件(代碼),實(shí)現(xiàn)此代碼主要分為兩部分:1.前臺(tái)文件index.html和 2.后臺(tái)文件upload.php,需要的朋友可以參考下
    2015-07-07
  • PHP隊(duì)列場(chǎng)景以及實(shí)現(xiàn)代碼實(shí)例詳解

    PHP隊(duì)列場(chǎng)景以及實(shí)現(xiàn)代碼實(shí)例詳解

    這篇文章主要介紹了PHP隊(duì)列場(chǎng)景以及實(shí)現(xiàn)代碼實(shí)例詳解,有感興趣的同學(xué)可以跟著學(xué)習(xí)研究下
    2021-02-02
  • PHP增刪改查項(xiàng)目的實(shí)戰(zhàn)詳解

    PHP增刪改查項(xiàng)目的實(shí)戰(zhàn)詳解

    這篇文章主要為大家詳細(xì)介紹了PHP增刪改查項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03

最新評(píng)論

奉节县| 宁安市| 宜州市| 平远县| 包头市| 海伦市| 浪卡子县| 天津市| 巩义市| 张家口市| 北辰区| 分宜县| 宁晋县| 公安县| 鄱阳县| 盐边县| 兰考县| 安陆市| 许昌市| 汉中市| 手游| 易门县| 西充县| 新田县| 罗城| 南漳县| 同江市| 乌拉特后旗| 萝北县| 高尔夫| 巫溪县| 民勤县| 万州区| 安塞县| 兴化市| 广平县| 朔州市| 新安县| 德钦县| 巴里| 惠水县|