吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1986|回复: 7
收起左侧

[讨论] 分享自己写的一个文件树

[复制链接]
zpy2 发表于 2020-2-29 09:16
一个php的树目录,请大家看看是不是还有改进的地方。
[PHP] 纯文本查看 复制代码
<!DOCTYPE html>
<html>
<head>
<title>mybookmark上传文件</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, minimum-scale=1.0, maximum-scale=3.0">

<style>
.hidden{display:none;}
</style>
</head>
<body>
<?php 
error_reporting(E_ERROR|E_PARSE);
//header("Content-type: text/html; charset=utf-8");
/********************** 
一个简单的目录递归函数 
第一种实现办法:用dir返回对象 
***********************/ 
function tree($directory) 
{ 
	$mydir=dir($directory); 
	echo "<ul>\n"; 
	while($file=$mydir->read()){ 
		if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) 
	{
			echo "<li onclick=\"opentree(this)\"><font color=\"#ff00cc\"><b>$file</b></font></li>\n"; 


			tree("$directory/$file"); 
		}//if 
		else 
		{
			if(($file!=".") AND ($file!="..")){
				//$href=str_replace("/data/data/com.termux/files/home/htdocs","",$directory);
				echo "<li>".$file.'</li>';

			}
?>




<?php

//			echo "</li>";
		}// if file
	} //while
	echo "</ul>\n"; 

	$mydir->close(); 
} //funcion
//开始运行 
echo "<h2>目录为粉红色</h2>"; 
//tree("sdcard0"); 
//echo dirname(__FILE__);
tree(dirname(__FILE__));



?>
<script>
function opentree(myNode){

	ul=myNode.nextSibling.nextElementSibling;
	var sh=ul.classList.contains('hidden');
	if(sh){
		ul.classList.remove('hidden');
	
	}else{
	
		ul.classList.add('hidden');
	}
}

</script> 

</body>

</html>

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
harryfooty + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

黑夜不黑 发表于 2020-2-29 11:09
学习了,大佬膜拜
 楼主| zpy2 发表于 2020-2-29 11:18
本帖最后由 zpy2 于 2020-2-29 11:32 编辑
liphily 发表于 2020-2-29 11:12
不知道为什么中文乱码。我看你也写了utf-8了的。。。

你用的是啥服务器?我是Linux的Apache
你开头加一句 header试试,注意文件前面不要留空。
对了,你是windows剪贴板复制的吧,文件一定用另存为 utf-8格式,windows默认是gbk编码。可以看看你的dir.php文件编码是不是utf-8.
<?php
header("Content-type: text/html; charset=utf-8");
?>
<!DOCTYPE html>
<html>
<head>
<title>mybookmark上传文件</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, minimum-scale=1.0, maximum-scale=3.0">

<style>
.hidden{display:none;}
</style>
</head>
<body>
<?php
error_reporting(E_ERROR|E_PARSE);
/**********************
一个简单的目录递归函数
第一种实现办法:用dir返回对象
***********************/
function tree($directory)
{
        $mydir=dir($directory);
        echo "<ul>\n";
        while($file=$mydir->read()){
                if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
        {
                        echo "<li onclick=\"opentree(this)\"><font color=\"#ff00cc\"><b>$file</b></font></li>\n";


                        tree("$directory/$file");
                }//if
                else
                {
                        if(($file!=".") AND ($file!="..")){
                                //$href=str_replace("/data/data/com.termux/files/home/htdocs","",$directory);
                                echo "<li>".$file.'</li>';

                        }
?>




<?php

//                        echo "</li>";
                }// if file
        } //while
        echo "</ul>\n";

        $mydir->close();
} //funcion
//开始运行
echo "<h2>目录为粉红色</h2>";
//tree("sdcard0");
//echo dirname(__FILE__);
tree(dirname(__FILE__));



?>
<script>
function opentree(myNode){

        ul=myNode.nextSibling.nextElementSibling;
        var sh=ul.classList.contains('hidden');
        if(sh){
                ul.classList.remove('hidden');
        
        }else{
        
                ul.classList.add('hidden');
        }
}

</script>

</body>

</html>
 楼主| zpy2 发表于 2020-2-29 11:19
lamorn 发表于 2020-2-29 13:51
中文文件还是乱码。。
lamorn 发表于 2020-2-29 13:56
linux下没问题。。win10不知道啥原因乱码。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 12:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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