分享自己写的一个文件树
一个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>
学习了,大佬膜拜 本帖最后由 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>
黑夜不黑 发表于 2020-2-29 11:09
学习了,大佬膜拜
客气了,一起学习。。。 中文文件还是乱码。。 linux下没问题。。win10不知道啥原因乱码。
页:
[1]