Bonjour,
N'ayant pas accès facilement à la taille de gros fichiers, je souhaite utiliser la commande DIR avec exec pour extraire les informations et les exploiter en php.
Pour cela j'exécute la commande :
Après avoir longuement cherché j'ai vu qu'il était nécessaire de convertir le codage des caractères de $retour depuis le CP850 vers l'UTF8.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ob_start(); passthru("DIR \"".$chemin."\"",$statut); $ligne_commande=ob_get_contents(); ob_end_clean; //convertion du tableau depuis CP850 vers UTF8 $ligne_commande_tab=explode(PHP_EOL,$ligne_commande);
Ensuite j'extrais les informations pour chaque ligne :
J'ai peu d'erreurs mais parfois j'ai un décalage des noms de fichiers et de la taille : il manque un chiffre pour la taille et le nom du fichier parfois inclut les derniers entiers de la taille. Je ne comprends pas pourquoi sachant que la sortie de la commande DOS est toujours présentée avec le même nombre de caractères. De plus je ne parviens pas à supprimer les espaces pour les tailles des fichiers ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $date=substr($ligne,0,17); $taille=str_replace(" ","",trim(substr($ligne,17,19))); $fichier=substr($ligne,36);
Partager