Vous pouvez énumérer les ressources partagées de Windows via PHP's COM API:
$wmi = new COM('WinMgmts:{impersonationLevel=impersonate}!root/cimv2');
$result = $wmi->ExecQuery('Select Path from Win32_Share where Type = 0');
foreach ($result as $share) {
echo $share->Path, PHP_EOL;
}
La sortie répertorie tous les dossiers partagés sur la machine. Le type 0
est un lecteur de disque.
Consultez la documentation MSDN pour Win32_Share
pour connaître les propriétés supplémentaires que vous pouvez interroger.
Note: si vous cherchez réseau lecteurs mappés, changer la requête
Select ProviderName From Win32_LogicalDisk Where DriveType = 4
et changer $share->Path
à $share->ProviderName
Voir cette Technet Article pour plus de détails.
Une alternative à l'utilisation de COM serait d'utiliser la commande wmic
:
exec('wmic Share where Type=0 get Path', $shares);
print_r($shares);
est équivalent au premier exemple ci-dessus. Pour plus de détails sur WMIC
, voir
Votre question est pas claire. Est-ce que vous vous attendez à trouver les lecteurs connectés sur le serveur Web? Voulez-vous trouver les lecteurs mappés sur l'ordinateur de quelqu'un connecté avec un navigateur Web? Est-ce que vous faites php-gtk? Quel est le contexte – Zoredache
pouvez-vous s'il vous plaît examiner les réponses qui vous ont été données et soit accepter celui qui vous a le plus aidé/résolu votre problème ou souligner pourquoi aucune des réponses n'a résolu votre problème. merci – Gordon