只考虑windows
php有什么办法打开本地目录吗?
试了这样不行
$path = "d:\\xx\\yy";
system("cmd.exe /c explorer $path");但是如果直接在cmd下打 explorer d:\xx\yy 是可以打开目录的,
是不是php给做了安全限制?
或者有没其他办法可以打开目录?谢谢。

解决方案 »

  1.   

    system("cmd.exe /c explorer $path");
    在服务器端运行,打开了你也看不见
      

  2.   

    基本概念,基本概念!!!!PHP是服务器端程序,操作不了客户端!
      

  3.   

    服务端是指一台机器吗, 我只是本地测试,本机开的apache+php, 
    然后访问本机的test.php, 内容是<?php
      system("cmd.exe /c explorer /select, d:\\jquery-1.4.chw");他应该调用了 cmd.exe, 然后由cmd.exe 来调用的 explorer,那exploerer.exe 干什么也受php限制吗?
    为什么本地机器没有打开一个目录窗口
      

  4.   

    你说的php打开本地的目录,试试这个,应该能解决你的问题
    <?php
    $handle = fopen ( "c:\\folder\\resource.txt" , "r" );
    ?>
      

  5.   

    我的意思是在服务器端的windows系统里浏览这个目录,效果类似于在cmd下执行 "explorer"
      

  6.   

    试了加一个 批处理 bat.bat,内容就是 explorer然后再test.php里调用bat.bat都不行:
    system("cmd.exe /c d:\\bat.bat");
      

  7.   

    你是真顽强还是真固执?
    不都跟你说了吗,system 只能执行无界面,无用户交互的程序
      

  8.   

    我只是想知道为什么
    比如怎么解释这个
    system("cmd.exe /c explorer /select, d:\\jquery-1.4.chw");system 执行了 cmd.exe /c, 应该这是一个无界面 无用户交互的,  然后explorer.exe 是由 cmd.exe 来执行的吧, 这和 system 还有关系? system是怎么接管cmd.exe调用其他程序的?通过什么管道之类东西?还是因为explorer.exe 这个文件特殊吗?
    换句话说如果自己写一个 open.exe, 在这个exe里写一段在windows打开D盘的代码, 然后system("open.exe");  也是会失败?
      

  9.   

    是的,只要有界面、有用户交互,都不行其实程序还是执行了的,因为是在后台执行(只运行在内存里)并还在等待用户的指令。但因为你看不见所以无法操作他,于是 system 就无法返回了