Détecter automatiquement les disques durs d'un serveur
difno
-
dinfo -
dinfo -
Bonjour,
Je voulais afficher dans un tableau la taille, l'espace libre ... de tous les disques durs d'un serveur mais les noms des disques durs ne sont pas stables c'est à dire on peut ajouter ou retirer des disques durs et du coup j'ai pensé à mettre ce code là:
Je me suis bloquée là et je ne trouve pas une solution pour m'avancer ;( s'il vous plait j'ai besoins vraiment de votre aide et merci d'avance pour cela.
Je voulais afficher dans un tableau la taille, l'espace libre ... de tous les disques durs d'un serveur mais les noms des disques durs ne sont pas stables c'est à dire on peut ajouter ou retirer des disques durs et du coup j'ai pensé à mettre ce code là:
<?php $data = array(); $disques = array ("A:", "B:", "C:", "D:", "E:", "F:", "G:", "H:", "I:", "J:", "K:", "L:", "M:", "N:", "O:", "P:", "Q:", "R:", "S:", "T:", "U:", "V:", "W:", "X:", "Y:", "Z:"); // $disques = array ("C:", "G:"); $i =0; foreach($disques as $disque){ //pour ajouter dans le tableau que les disques qui existent dans ce serveur if(!empty(disk_total_space($disque))){ $disp = disk_free_space($disque); $total = disk_total_space($disque); $data[$i]['Nom_disque'] = $disque; $data[$i]['Taille_disponible'] = _format_bytes($disp); $data[$i]['Taille_utilise'] = _format_bytes($total - $disp); $data[$i]['Taille_total'] = _format_bytes($total); $data[$i]['Utilisation'] = number_format((_format_bytes(($total - $disp) /$total)) * 100, 0, ".", " ") ; $i++; } }
EDIT : AJout des balises de code
Mais cette fonction 'disk_total_space($disque)' m'affiche un erreur quand il ne trouve pas le disque qui correspond aux alphabets que j'ai cités dans le tableau des disques :/Je me suis bloquée là et je ne trouve pas une solution pour m'avancer ;( s'il vous plait j'ai besoins vraiment de votre aide et merci d'avance pour cela.
A voir également:
- Détecter automatiquement les disques durs d'un serveur
- Comment détecter un traceur sur téléphone - Accueil - Confidentialité
- Cloner un disque dur - Guide
- Défragmenter un disque dur - Guide
- Changer serveur dns - Guide
- Automatiquement - Guide
2 réponses
Bonjour,
TU n'as qu'a vérifier avant si le "disque" existe ou non.
https://www.php.net/manual/en/function.is-dir.php
TU n'as qu'a vérifier avant si le "disque" existe ou non.
https://www.php.net/manual/en/function.is-dir.php
Bonjour,
Merci pour la fonction il fonctionne très bien :)
Mais il m'affiche toujours cette erreur et j'en savais pas pourquoi ! :
Warning: disk_total_space(): in C:\wamp\www\***.php on line 21
Voici le code:
Cordialement ;
Merci pour la fonction il fonctionne très bien :)
Mais il m'affiche toujours cette erreur et j'en savais pas pourquoi ! :
Warning: disk_total_space(): in C:\wamp\www\***.php on line 21
Voici le code:
<?php $data = array(); $disques = array ("A:", "B:", "C:", "D:", "E:", "F:", "G:", "H:", "I:", "J:", "K:", "L:", "M:", "N:", "O:", "P:", "Q:", "R:", "S:", "T:", "U:", "V:", "W:", "X:", "Y:", "Z:"); // $disques = array ("C:", "G:"); $i =0; foreach($disques as $disque){ if(is_dir($disque)){ //pour ajouter dans le tableau que les disques actifs if(disk_total_space($disque)!=false){ $disp = disk_free_space($disque); $total = disk_total_space($disque); $data[$i]['Nom_disque'] = $disque; $data[$i]['Taille_disponible'] = _format_bytes($disp); $data[$i]['Taille_utilise'] = _format_bytes($total - $disp); $data[$i]['Taille_total'] = _format_bytes($total); $data[$i]['Utilisation'] = number_format((_format_bytes(($total - $disp) /$total)) * 100, 0, ".", " ") ; $i++; } } }
EDIT : Ajout des balises de code (... encore.... )
Merci d'avance pour votre aide.Cordialement ;
Suffit de lire la doc... https://www.php.net/manual/fr/function.disk-total-space.php
Je suppose que ça vient de là :
Je suppose que ça vient de là :
Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.
Regarde si en modifiant le limite de temps ça ne corrigerait pas ton souci
https://www.php.net/manual/fr/function.set-time-limit.php
https://www.php.net/manual/fr/function.set-time-limit.php
Merci pour la réponse je vais essayer cette fonction :)