libsmbclient PHP test

We accept smb://[[[domain;]user[:password@]]server[/share[/path[/file]]]]

smb://       means show all the workgroups
smb://name/  means, if name<1D> exists, list servers in workgroup, else, if name<20> exists, list all shares for server ...

URL:
\n"; $dh = smbclient_opendir($url); if(!$dh) return; while($de = smbclient_readdir($dh)) { printf("
  • %s: %s (%s)", $de["type"], $de["name"], $de["comment"]); if($de["type"] == "file") { $statbuf = smbclient_stat($url . "/" . $de["name"]); printf(" [%lu bytes] {READ}", $statbuf["size"], urlencode($url . "/" . $de["name"])); } else if($de["type"] == "file share" || $de["type"] == "directory") { if($de["name"] != "." && $de["name"] != "..") { //$stat = smbclient_stat($url . "/" . $de["name"]); //printf("Got mode %o.", $stat["mode"]); if($stat["mode"] & 04) dodir($url . "/" . $de["name"]); } } echo "
  • \n"; } smbclient_closedir($dh); } if(isset($_REQUEST["submit"])) { dodir($url); } else if(isset($_REQUEST["read"])) { $fh = smbclient_open($url); while($str = smbclient_read($fh, 4096)) { echo $str; } smbclient_close($fh); } ?>