$url = "smb://guest:guest@minusone/";
if(isset($_REQUEST["url"])) $url = $_REQUEST["url"];
?>
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 ...
\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);
}
?>