紧急求助:第一次用php,很陌生,恳请大家赐教!

时间:2022-12-15 23:16:36
我想要用PHP实现:从U盘中读出文件夹树,树上面有复选框,选中的目录会显示在“已选列表中”,未被选中的会被显示在“待选列表中”,请问这该如何实现呢?如图:[img=http://album.hi.csdn.net/app_uploads/chunyou128/20081019/230446328.p.JPG?d=20081019230541171][/img]

24 个解决方案

#1


php能访问u盘么
你用js做吧

#2


引用 1 楼 zktz1 的回复:
php能访问u盘么 
你用js做吧

用啥做都行,只是不知该怎么下手。。。

#3


你的那个树是怎样实现的?
资源管理器的树不太好实现!不带前置号的容易的多



输出树,给一个属性或链接为路径,点击时用js将路径移至其他框

其他好办,用js操作即可

#4


很难的一个问题,估计光那个树就够你做的
能做好树就不难了

#5


引用 3 楼 fxs_2008 的回复:
你的那个树是怎样实现的? 

不是用PHP实现的,是vc程序的一个截图。。。

#6


这是做web呢,还是什么啊,既然用php,给点代码参考啊

#7


引用 6 楼 huping88 的回复:
这是做web呢,还是什么啊,既然用php,给点代码参考啊

是做web,我是新手,正求大家给个方向呢...

#8


帮忙顶一下。

#9


lz去http://extjs.com下个Ext2.0,examples/tree 里面的树的例子,后台就是php读取本地文件目录的程序,javascript方面你稍微修改下就可以出来checkbox了,再自己注册几个js事件.

#10


首先你要清楚一点
php可以读取服务器磁盘上的文件,但是无法读取客户端磁盘上的文件,你要确定你是要读取服务器还是客户端的磁盘文件。任何服务器端语言都如此。

#11


引用 10 楼 ShadowSniper 的回复:
首先你要清楚一点 
php可以读取服务器磁盘上的文件,但是无法读取客户端磁盘上的文件,你要确定你是要读取服务器还是客户端的磁盘文件。任何服务器端语言都如此。

我要读取的是服务器(本机)磁盘上的文件,请赐教,先谢过。。。

#12


就算是服务器上的,你也得能有权限

#13


引用 12 楼 chinmo 的回复:
就算是服务器上的,你也得能有权限

有权限的,自己就是系统管理员。。。

#14


实在是搞不定,从网上下载些例子,却测试不出想要的结果,恳请大家给个简单的例子。。。
一个简单的显示目录的树也行,再次感谢!!!

#15


看起来很复杂》。

#16


两棵树都可以给你,前提是你得肯下点功夫研究一下.
http://extjs.com/deploy/dev/examples/tree/two-trees.html
ps:你如果下载例子到本地,树显不出来,是因为json_encode函数未定义,建议下载个php的json通用类,比如service_json

#17


引用 16 楼 foolbirdflyfirst 的回复:
两棵树都可以给你,前提是你得肯下点功夫研究一下. 
http://extjs.com/deploy/dev/examples/tree/two-trees.html 
ps:你如果下载例子到本地,树显不出来,是因为json_encode函数未定义,建议下载个php的json通用类,比如service_json

请问:是下面这样的吗?
(1)JSON.php放到get-nodes.php(下面的代码就是get-nodes.php)同级目录
(2)get-nodes.php修改如下:
<?
// from php manual page
require_once('JSON.php'); 
function formatBytes($val, $digits = 3, $mode = "SI", $bB = "B"){ //$mode == "SI"|"IEC", $bB == "b"|"B"
   $si = array("", "K", "M", "G", "T", "P", "E", "Z", "Y");
   $iec = array("", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi", "Yi");
   switch(strtoupper($mode)) {
       case "SI" : $factor = 1000; $symbols = $si; break;
       case "IEC" : $factor = 1024; $symbols = $iec; break;
       default : $factor = 1000; $symbols = $si; break;
   }
   switch($bB) {
       case "b" : $val *= 8; break;
       default : $bB = "B"; break;
   }
   for($i=0;$i<count($symbols)-1 && $val>=$factor;$i++)
       $val /= $factor;
   $p = strpos($val, ".");
   if($p !== false && $p > $digits) $val = round($val);
   elseif($p !== false) $val = round($val, $digits-$p);
   return round($val, $digits) . " " . $symbols[$i] . $bB;
}

$dir = isset($_REQUEST['lib'])&&$_REQUEST['lib'] == 'yui' ? '../../../' : '../../';
$node = isset($_REQUEST['node'])?$_REQUEST['node']:"";
if(strpos($node, '..') !== false){
    die('Nice try buddy.');
}
$nodes = array();
$d = dir($dir.$node);
while($f = $d->read()){
    if($f == '.' || $f == '..' || substr($f, 0, 1) == '.')continue;
    $lastmod = date('M j, Y, g:i a',filemtime($dir.$node.'/'.$f));
    if(is_dir($dir.$node.'/'.$f)){
        $qtip = 'Type: Folder<br />Last Modified: '.$lastmod;
        $nodes[] = array('text'=>$f, 'id'=>$node.'/'.$f/*, 'qtip'=>$qtip*/, 'cls'=>'folder');
    }else{
        $size = formatBytes(filesize($dir.$node.'/'.$f), 2);
        $qtip = 'Type: JavaScript File<br />Last Modified: '.$lastmod.'<br />Size: '.$size;
        $nodes[] = array('text'=>$f, 'id'=>$node.'/'.$f, 'leaf'=>true/*, 'qtip'=>$qtip, 'qtipTitle'=>$f */, 'cls'=>'file');
    }
}
$d->close();
//echo json_encode($nodes);
$json = new Services_JSON(); 
$json->encode($nodes); 

?>

#18



$json = new Services_JSON(); 
echo $json->encode($nodes); 

#19


引用 18 楼 foolbirdflyfirst 的回复:
PHP code
$json = new Services_JSON(); 
echo $json->encode($nodes); 

改了,但还是不行。。。

#20


学会检查错误.
浏览器访问一下get_nodes.php,看是什么错误.

#21


引用 20 楼 foolbirdflyfirst 的回复:
学会检查错误. 
浏览器访问一下get_nodes.php,看是什么错误.

页面上显示如下:
=$factor;$i++) $val /= $factor; $p = strpos($val, "."); if($p !== false && $p > $digits) $val = round($val); elseif($p !== false) $val = round($val, $digits-$p); return round($val, $digits) . " " . $symbols[$i] . $bB; } $dir = isset($_REQUEST['lib'])&&$_REQUEST['lib'] == 'yui' ? '../../../' : '../../'; $node = isset($_REQUEST['node'])?$_REQUEST['node']:""; if(strpos($node, '..') !== false){ die('Nice try buddy.'); } $nodes = array(); $d = dir($dir.$node); while($f = $d->read()){ if($f == '.' || $f == '..' || substr($f, 0, 1) == '.')continue; $lastmod = date('M j, Y, g:i a',filemtime($dir.$node.'/'.$f)); if(is_dir($dir.$node.'/'.$f)){ $qtip = 'Type: Folder
Last Modified: '.$lastmod; $nodes[] = array('text'=>$f, 'id'=>$node.'/'.$f/*, 'qtip'=>$qtip*/, 'cls'=>'folder'); }else{ $size = formatBytes(filesize($dir.$node.'/'.$f), 2); $qtip = 'Type: JavaScript File
Last Modified: '.$lastmod.'
Size: '.$size; $nodes[] = array('text'=>$f, 'id'=>$node.'/'.$f, 'leaf'=>true/*, 'qtip'=>$qtip, 'qtipTitle'=>$f */, 'cls'=>'file'); } } $d->close(); //echo json_encode($nodes); $json = new Services_JSON(); echo $json->encode($nodes); ?>

#22


把第一行的<? 改为 <?php。
估计你的php.ini内配置项short_open_tag值为Off。

#23


引用 22 楼 foolbirdflyfirst 的回复:
把第一行的 <? 改为 <?php。 
估计你的php.ini内配置项short_open_tag值为Off。

谢谢大侠,这个例子(http://extjs.com/deploy/dev/examples/tree/reorder.html)调试成功!
顺便说一下,我原先的JSON.php是复制的,所以会有网页空格,后来我下载:[img=http://code.itlearner.com/php/JSON-class.html][/img]了一个.
还有很多不明白的地方,另行开贴,希望大家继续支持!

#24



 
AAWServer3.0(ASP+CGI+PHP+JSP+MySQL 全能网站服务器平台)

    * 软件大小:46 MB
    * 软件类型:国产软件 / 免费软件 / Install-needed
    * 运行环境:Win2000/Win2003server
    * 软件语言:简体中文
    * 相关链接:无
    * 更新时间:2008-11-18 19:06:26
    * 使用说明:暂无
    * 界面预览:没有预览图片
    * 推荐指数:
    * 下载地址:thunder://QUFodHRwOi8veHgyLmdkLnhkb3ducy5jb20veC8wODExL0FBV1NlcnZlcjMuMC5yYXJaWg==
    * http://www.xdowns.com/soft/xdowns.asp?softid=48098&downid=58&id=50828
    * http://www.xdowns.com/soft/xdowns.asp?softid=48098&downid=29&id=50828
    * http://www.xdowns.com/soft/xdowns.asp?softid=48098&downid=40&id=50828
    * http://www.xdowns.com/soft/xdowns.asp?softid=48098&downid=50&id=50828

软件介绍
      

AAWServer安装简便 免配置,可以快速建立PHP+JSP+MySQL的web服务器环境。

建议您在安装之前,请停止IIS或Apache服务。

安装完毕后请仔细阅读说明文件,先配置好环境变量,再启动 AAWServer 服务程序。
简介:
AAWServer_v3.0 是一款基于 Apache+Tomcat 的全能服务器组合套件,
拥有安装简单、便捷、绿色、免配置等特点,
可以快速搭建 ASP+CGI+PHP+JSP+MySQL 全能网站服务器平台,
方便您调试和开发ASP、CGI、PHP、JSP 等程序。

安装:
您可以安装本软件到任意目录,但注意安装路径不要含有汉字和空格。

备份:
请先停止 AAWServer 服务器,然后备份:
Server\Database 和wwwRoot 目录以便日后恢复。

卸载:
本程序为绿色软件,没加任何信息在注册表内,请先停止 AAWServer 服务器,
运行 添加删除程序中的AAWServer进行制裁。 ,然后直接删除即可

感谢您使用本程序,由于本人水平有限还请多多指教 多提宝贵意见。

使用程序版本:
Apache v2.3.0
Tomcat v5.5.20
Netbox v2.8.4128
PHP v5.2.0
MySQL5 v5.0.27
MySQL4 v4.0
MiniPerl v5.8
JDK v1.5.0_07
Zend v3.2.0
phpMyAdmin v2.9.1.1
安装密码:无

本程序为绿色程序,旨在为广大网站编程等爱好者提供方便之门,程序上有不足的地方欢迎大家与我联系指证。共同进步。本程序所用之组件Apache,Tomcat 等版权归原作者所有。本程序版权保留,但您可以任何对本程序修改复制,但请保留原作者信息。谢谢。
联系方式:13684987282
E_mail:harpong@163.com
紫叶枫林在线系统网络工作室
哈鹏制作 2008-8-8
前两个版本是我自己一直在内部使用,第三个版本是经过前两个版本测试后很稳定才公开发布的,今天是第一次将它公布在网上,望请管理员批准发布该软件,谢谢!!!

#1


php能访问u盘么
你用js做吧

#2


引用 1 楼 zktz1 的回复:
php能访问u盘么 
你用js做吧

用啥做都行,只是不知该怎么下手。。。

#3


你的那个树是怎样实现的?
资源管理器的树不太好实现!不带前置号的容易的多



输出树,给一个属性或链接为路径,点击时用js将路径移至其他框

其他好办,用js操作即可

#4


很难的一个问题,估计光那个树就够你做的
能做好树就不难了

#5


引用 3 楼 fxs_2008 的回复:
你的那个树是怎样实现的? 

不是用PHP实现的,是vc程序的一个截图。。。

#6


这是做web呢,还是什么啊,既然用php,给点代码参考啊

#7


引用 6 楼 huping88 的回复:
这是做web呢,还是什么啊,既然用php,给点代码参考啊

是做web,我是新手,正求大家给个方向呢...

#8


帮忙顶一下。

#9


lz去http://extjs.com下个Ext2.0,examples/tree 里面的树的例子,后台就是php读取本地文件目录的程序,javascript方面你稍微修改下就可以出来checkbox了,再自己注册几个js事件.

#10


首先你要清楚一点
php可以读取服务器磁盘上的文件,但是无法读取客户端磁盘上的文件,你要确定你是要读取服务器还是客户端的磁盘文件。任何服务器端语言都如此。

#11


引用 10 楼 ShadowSniper 的回复:
首先你要清楚一点 
php可以读取服务器磁盘上的文件,但是无法读取客户端磁盘上的文件,你要确定你是要读取服务器还是客户端的磁盘文件。任何服务器端语言都如此。

我要读取的是服务器(本机)磁盘上的文件,请赐教,先谢过。。。

#12


就算是服务器上的,你也得能有权限

#13


引用 12 楼 chinmo 的回复:
就算是服务器上的,你也得能有权限

有权限的,自己就是系统管理员。。。

#14


实在是搞不定,从网上下载些例子,却测试不出想要的结果,恳请大家给个简单的例子。。。
一个简单的显示目录的树也行,再次感谢!!!

#15


看起来很复杂》。

#16


两棵树都可以给你,前提是你得肯下点功夫研究一下.
http://extjs.com/deploy/dev/examples/tree/two-trees.html
ps:你如果下载例子到本地,树显不出来,是因为json_encode函数未定义,建议下载个php的json通用类,比如service_json

#17


引用 16 楼 foolbirdflyfirst 的回复:
两棵树都可以给你,前提是你得肯下点功夫研究一下. 
http://extjs.com/deploy/dev/examples/tree/two-trees.html 
ps:你如果下载例子到本地,树显不出来,是因为json_encode函数未定义,建议下载个php的json通用类,比如service_json

请问:是下面这样的吗?
(1)JSON.php放到get-nodes.php(下面的代码就是get-nodes.php)同级目录
(2)get-nodes.php修改如下:
<?
// from php manual page
require_once('JSON.php'); 
function formatBytes($val, $digits = 3, $mode = "SI", $bB = "B"){ //$mode == "SI"|"IEC", $bB == "b"|"B"
   $si = array("", "K", "M", "G", "T", "P", "E", "Z", "Y");
   $iec = array("", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi", "Yi");
   switch(strtoupper($mode)) {
       case "SI" : $factor = 1000; $symbols = $si; break;
       case "IEC" : $factor = 1024; $symbols = $iec; break;
       default : $factor = 1000; $symbols = $si; break;
   }
   switch($bB) {
       case "b" : $val *= 8; break;
       default : $bB = "B"; break;
   }
   for($i=0;$i<count($symbols)-1 && $val>=$factor;$i++)
       $val /= $factor;
   $p = strpos($val, ".");
   if($p !== false && $p > $digits) $val = round($val);
   elseif($p !== false) $val = round($val, $digits-$p);
   return round($val, $digits) . " " . $symbols[$i] . $bB;
}

$dir = isset($_REQUEST['lib'])&&$_REQUEST['lib'] == 'yui' ? '../../../' : '../../';
$node = isset($_REQUEST['node'])?$_REQUEST['node']:"";
if(strpos($node, '..') !== false){
    die('Nice try buddy.');
}
$nodes = array();
$d = dir($dir.$node);
while($f = $d->read()){
    if($f == '.' || $f == '..' || substr($f, 0, 1) == '.')continue;
    $lastmod = date('M j, Y, g:i a',filemtime($dir.$node.'/'.$f));
    if(is_dir($dir.$node.'/'.$f)){
        $qtip = 'Type: Folder<br />Last Modified: '.$lastmod;
        $nodes[] = array('text'=>$f, 'id'=>$node.'/'.$f/*, 'qtip'=>$qtip*/, 'cls'=>'folder');
    }else{
        $size = formatBytes(filesize($dir.$node.'/'.$f), 2);
        $qtip = 'Type: JavaScript File<br />Last Modified: '.$lastmod.'<br />Size: '.$size;
        $nodes[] = array('text'=>$f, 'id'=>$node.'/'.$f, 'leaf'=>true/*, 'qtip'=>$qtip, 'qtipTitle'=>$f */, 'cls'=>'file');
    }
}
$d->close();
//echo json_encode($nodes);
$json = new Services_JSON(); 
$json->encode($nodes); 

?>

#18



$json = new Services_JSON(); 
echo $json->encode($nodes); 

#19


引用 18 楼 foolbirdflyfirst 的回复:
PHP code
$json = new Services_JSON(); 
echo $json->encode($nodes); 

改了,但还是不行。。。

#20


学会检查错误.
浏览器访问一下get_nodes.php,看是什么错误.

#21


引用 20 楼 foolbirdflyfirst 的回复:
学会检查错误. 
浏览器访问一下get_nodes.php,看是什么错误.

页面上显示如下:
=$factor;$i++) $val /= $factor; $p = strpos($val, "."); if($p !== false && $p > $digits) $val = round($val); elseif($p !== false) $val = round($val, $digits-$p); return round($val, $digits) . " " . $symbols[$i] . $bB; } $dir = isset($_REQUEST['lib'])&&$_REQUEST['lib'] == 'yui' ? '../../../' : '../../'; $node = isset($_REQUEST['node'])?$_REQUEST['node']:""; if(strpos($node, '..') !== false){ die('Nice try buddy.'); } $nodes = array(); $d = dir($dir.$node); while($f = $d->read()){ if($f == '.' || $f == '..' || substr($f, 0, 1) == '.')continue; $lastmod = date('M j, Y, g:i a',filemtime($dir.$node.'/'.$f)); if(is_dir($dir.$node.'/'.$f)){ $qtip = 'Type: Folder
Last Modified: '.$lastmod; $nodes[] = array('text'=>$f, 'id'=>$node.'/'.$f/*, 'qtip'=>$qtip*/, 'cls'=>'folder'); }else{ $size = formatBytes(filesize($dir.$node.'/'.$f), 2); $qtip = 'Type: JavaScript File
Last Modified: '.$lastmod.'
Size: '.$size; $nodes[] = array('text'=>$f, 'id'=>$node.'/'.$f, 'leaf'=>true/*, 'qtip'=>$qtip, 'qtipTitle'=>$f */, 'cls'=>'file'); } } $d->close(); //echo json_encode($nodes); $json = new Services_JSON(); echo $json->encode($nodes); ?>

#22


把第一行的<? 改为 <?php。
估计你的php.ini内配置项short_open_tag值为Off。

#23


引用 22 楼 foolbirdflyfirst 的回复:
把第一行的 <? 改为 <?php。 
估计你的php.ini内配置项short_open_tag值为Off。

谢谢大侠,这个例子(http://extjs.com/deploy/dev/examples/tree/reorder.html)调试成功!
顺便说一下,我原先的JSON.php是复制的,所以会有网页空格,后来我下载:[img=http://code.itlearner.com/php/JSON-class.html][/img]了一个.
还有很多不明白的地方,另行开贴,希望大家继续支持!

#24



 
AAWServer3.0(ASP+CGI+PHP+JSP+MySQL 全能网站服务器平台)

    * 软件大小:46 MB
    * 软件类型:国产软件 / 免费软件 / Install-needed
    * 运行环境:Win2000/Win2003server
    * 软件语言:简体中文
    * 相关链接:无
    * 更新时间:2008-11-18 19:06:26
    * 使用说明:暂无
    * 界面预览:没有预览图片
    * 推荐指数:
    * 下载地址:thunder://QUFodHRwOi8veHgyLmdkLnhkb3ducy5jb20veC8wODExL0FBV1NlcnZlcjMuMC5yYXJaWg==
    * http://www.xdowns.com/soft/xdowns.asp?softid=48098&downid=58&id=50828
    * http://www.xdowns.com/soft/xdowns.asp?softid=48098&downid=29&id=50828
    * http://www.xdowns.com/soft/xdowns.asp?softid=48098&downid=40&id=50828
    * http://www.xdowns.com/soft/xdowns.asp?softid=48098&downid=50&id=50828

软件介绍
      

AAWServer安装简便 免配置,可以快速建立PHP+JSP+MySQL的web服务器环境。

建议您在安装之前,请停止IIS或Apache服务。

安装完毕后请仔细阅读说明文件,先配置好环境变量,再启动 AAWServer 服务程序。
简介:
AAWServer_v3.0 是一款基于 Apache+Tomcat 的全能服务器组合套件,
拥有安装简单、便捷、绿色、免配置等特点,
可以快速搭建 ASP+CGI+PHP+JSP+MySQL 全能网站服务器平台,
方便您调试和开发ASP、CGI、PHP、JSP 等程序。

安装:
您可以安装本软件到任意目录,但注意安装路径不要含有汉字和空格。

备份:
请先停止 AAWServer 服务器,然后备份:
Server\Database 和wwwRoot 目录以便日后恢复。

卸载:
本程序为绿色软件,没加任何信息在注册表内,请先停止 AAWServer 服务器,
运行 添加删除程序中的AAWServer进行制裁。 ,然后直接删除即可

感谢您使用本程序,由于本人水平有限还请多多指教 多提宝贵意见。

使用程序版本:
Apache v2.3.0
Tomcat v5.5.20
Netbox v2.8.4128
PHP v5.2.0
MySQL5 v5.0.27
MySQL4 v4.0
MiniPerl v5.8
JDK v1.5.0_07
Zend v3.2.0
phpMyAdmin v2.9.1.1
安装密码:无

本程序为绿色程序,旨在为广大网站编程等爱好者提供方便之门,程序上有不足的地方欢迎大家与我联系指证。共同进步。本程序所用之组件Apache,Tomcat 等版权归原作者所有。本程序版权保留,但您可以任何对本程序修改复制,但请保留原作者信息。谢谢。
联系方式:13684987282
E_mail:harpong@163.com
紫叶枫林在线系统网络工作室
哈鹏制作 2008-8-8
前两个版本是我自己一直在内部使用,第三个版本是经过前两个版本测试后很稳定才公开发布的,今天是第一次将它公布在网上,望请管理员批准发布该软件,谢谢!!!