1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| <?php
// Chemin d'accès au fichier CSV
$filePath = 'mon_fichier.csv';
// --- Vérifications de base ---
if (!file_exists($filePath)) {
die("Erreur : Le fichier '$filePath' n'existe pas.");
}
if (!is_readable($filePath)) {
die("Erreur : Le fichier '$filePath' n'est pas lisible.");
}
// --- Lecture du contenu du fichier ---
$fileContent = file_get_contents($filePath); // Pour des petits fichiers
// Pour des fichiers plus volumineux, il est préférable de lire ligne par ligne sans tout charger en mémoire:
// $fileHandle = fopen($filePath, 'r');
// $fileContentLines = [];
// while (($line = fgets($fileHandle)) !== false) {
// $fileContentLines[] = $line;
// }
// fclose($fileHandle);
// $fileContent = implode("\n", $fileContentLines); // Reconstruct le contenu si nécessaire
$lines = explode("\n", $fileContent); // ou $lines = $fileContentLines si lu ligne par ligne
// Initialisation des compteurs
$countAllLinesWithAnyChar = 0;
$countLinesWithNonSpaceChar = 0;
// --- Boucle pour compter les lignes ---
foreach ($lines as $line) {
// Nettoyer la ligne des espaces blancs au début et à la fin
$trimmedLine = trim($line);
// 1. Compter toutes les lignes contenant au moins un caractère quel qu'il soit
// Si la ligne, même après avoir retiré les espaces, n'est pas vide, c'est qu'elle contient quelque chose.
if ($trimmedLine !== '') {
$countAllLinesWithAnyChar++;
// 2. Compter toutes les lignes contenant au moins un caractère différent d'un espace
// La même condition s'applique ici, car trim() enlève tous les caractères d'espacement blanc.
// Si la ligne n'est pas vide après trim(), c'est qu'elle contenait au moins un caractère non-blanc.
$countLinesWithNonSpaceChar++;
}
}
// --- Affichage des résultats ---
echo "<h1>Analyse du fichier CSV : " . htmlspecialchars($filePath) . "</h1>\n";
echo "<p>Nombre total de lignes lues (incluant potentiellement vides) : " . count($lines) . "</p>\n";
echo "<p><strong>Nombre de lignes contenant au moins un caractère : " . $countAllLinesWithAnyChar . "</strong></p>\n";
echo "<p><strong>Nombre de lignes contenant au moins un caractère différent d'un espace : " . $countLinesWithNonSpaceChar . "</strong></p>\n";
?> |
Partager