Récupérer date contenue dans un fichier texte
Résolu
Ablawa
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
Ablawa Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Ablawa Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un fichier du genre:
Nom société indice xx
Point de la caisse -
Pour la date du 22/10/07
NOM PRÉNOM SALAIRE
nom1 toto1 500
nom2 toto2 1500
nom3 toto3 2500
nom4 toto4 3500
Et j'aimerais récupérer la date "22/10/07" puis la mettre dans une variable.
je sais utiliser la commande "date" mais mon problème c'est comment faire la recherche de la date dans mon fichier.
J'ai besoin de votre aide. Merci de prendre à cœur mon problème.
Voici mon bout de code:
$fp = fopen("Fichier.txt", "r"); //lecture
if (!$fp = fopen("Fichier.txt", "r")) {
echo "Echec de l'ouverture du fichier";
exit;
} else {
//votre code;
while(!feof($fp)) { //Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier.
$Ligne = fgets($fp, 255); //on récupère une ligne
//comment chercher ma date dans le fichier ??????
}
}
fclose($fp); //On ferme le fichier
j'ai un fichier du genre:
Nom société indice xx
Point de la caisse -
Pour la date du 22/10/07
NOM PRÉNOM SALAIRE
nom1 toto1 500
nom2 toto2 1500
nom3 toto3 2500
nom4 toto4 3500
Et j'aimerais récupérer la date "22/10/07" puis la mettre dans une variable.
je sais utiliser la commande "date" mais mon problème c'est comment faire la recherche de la date dans mon fichier.
J'ai besoin de votre aide. Merci de prendre à cœur mon problème.
Voici mon bout de code:
$fp = fopen("Fichier.txt", "r"); //lecture
if (!$fp = fopen("Fichier.txt", "r")) {
echo "Echec de l'ouverture du fichier";
exit;
} else {
//votre code;
while(!feof($fp)) { //Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier.
$Ligne = fgets($fp, 255); //on récupère une ligne
//comment chercher ma date dans le fichier ??????
}
}
fclose($fp); //On ferme le fichier
A voir également:
- Récupérer date contenue dans un fichier texte
- Fichier bin - Guide
- Fichier .dat - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
7 réponses
Bsr
Peut être un truc du genre
A adapter évidemment
Peut être un truc du genre
$fp = fopen("Fichier.txt", "r"); //lecture if (!$fp = fopen("Fichier.txt", "r")) { echo "Echec de l'ouverture du fichier"; exit; } else { $modele="Pour la date du "; $date=""; //votre code; while(!feof($fp)) //Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier. { $Ligne = fgets($fp, 255); //on récupère une ligne $pos = strpos($Ligne, $modele); if ($pos === 0) { $date=substr($Ligne,strlen($modele),8); // echo $date; break; } } } fclose($fp); //On ferme le fichier
A adapter évidemment
Merci PhP pour ta réponse. Mais chez moi cela ne stocke rien dans la variable $date.
J'aimerais comprendre un peu plus cette partie:
$pos = strpos($Ligne, $modele);
if ($pos === 0)
{
$date=substr($Ligne,strlen($modele),8);
// echo $date;
break;
}
j'ai cherché l'utilisation des fonctions mais ça ne m'a pas permis de comprendre ton code. Merci de m'éclairer davantage.
- La fonction PHP STRLEN() renvoie la longueur de la chaîne de caractères.
- STRPOS($variable,$variable1): revoie le nombre de caractère devant la lettre $variable1. Exemple: STRPOS ("YBET informatique,"i") renvoie le nombre 5. Si le résultat est 0, le caractère n'est pas repris dans la chaîne.
- SUBSTR (chaine, numero_depart [,longueur] ) récupère longueur caractères sans la chaîne à partir du numero de départ.
J'aimerais comprendre un peu plus cette partie:
$pos = strpos($Ligne, $modele);
if ($pos === 0)
{
$date=substr($Ligne,strlen($modele),8);
// echo $date;
break;
}
j'ai cherché l'utilisation des fonctions mais ça ne m'a pas permis de comprendre ton code. Merci de m'éclairer davantage.
- La fonction PHP STRLEN() renvoie la longueur de la chaîne de caractères.
- STRPOS($variable,$variable1): revoie le nombre de caractère devant la lettre $variable1. Exemple: STRPOS ("YBET informatique,"i") renvoie le nombre 5. Si le résultat est 0, le caractère n'est pas repris dans la chaîne.
- SUBSTR (chaine, numero_depart [,longueur] ) récupère longueur caractères sans la chaîne à partir du numero de départ.
pour strpos, c'est pas 0 mais faux ...
Ca revient presque au meme sauf qu'avec les === on differencie les FALSE et 0.
Ca revient presque au meme sauf qu'avec les === on differencie les FALSE et 0.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ci-dessous le code corrigé:
$filename="fichier.txt";
$fp = fopen($filename, "r"); //lecture
if (!$fp = fopen($filename, "r"))
{
echo "Echec de l'ouverture du fichier";
exit;
}
else
{
$modele="Pour la date du";
$date="";
while(!feof($fp)) //Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier.
{
$Ligne = fgets($fp, 255); //on récupère une ligne
$lignedate = strstr($Ligne, $modele);
echo $lignedate; //Et ça m'affiche bien la ligne contenant la date: "Pour la date du 26/05/2006"
//Maintenant reste à récupérer uniquement la date
?????????????????????????????????????
break;
}
}
fclose($fp); //On ferme le fichier
Chers "PHPmen", j'attends impatiemment vos coups de pouce. Merci d'avance.
$filename="fichier.txt";
$fp = fopen($filename, "r"); //lecture
if (!$fp = fopen($filename, "r"))
{
echo "Echec de l'ouverture du fichier";
exit;
}
else
{
$modele="Pour la date du";
$date="";
while(!feof($fp)) //Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier.
{
$Ligne = fgets($fp, 255); //on récupère une ligne
$lignedate = strstr($Ligne, $modele);
echo $lignedate; //Et ça m'affiche bien la ligne contenant la date: "Pour la date du 26/05/2006"
//Maintenant reste à récupérer uniquement la date
?????????????????????????????????????
break;
}
}
fclose($fp); //On ferme le fichier
Chers "PHPmen", j'attends impatiemment vos coups de pouce. Merci d'avance.
Est-ce qu'on ne peut pas utiliser les expressions régulières pour récupérer la date sur la ligne: "Pour la date du 26/05/2006"
chers amis, j'ai finalement utilisé le code de monsieur "PhP", avec quelques retouches. Merci à vous tous.
Voici la solution finale:
<?
$fp = fopen("Fichier.txt", "r"); //lecture
if (!$fp = fopen("Fichier.txt", "r"))
{
echo "Echec de l'ouverture du fichier";
exit;
}
else
{
$modele="Pour la date du ";
$date="";
//votre code;
while(!feof($fp)) //Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier.
{
$Ligne = fgets($fp, 255); //on récupère une ligne
$pos = strstr($Ligne, $modele);
$date=substr($pos,strlen($modele),12);
// echo $date;
break;
}
}
fclose($fp); //On ferme le fichier
?>
Voici la solution finale:
<?
$fp = fopen("Fichier.txt", "r"); //lecture
if (!$fp = fopen("Fichier.txt", "r"))
{
echo "Echec de l'ouverture du fichier";
exit;
}
else
{
$modele="Pour la date du ";
$date="";
//votre code;
while(!feof($fp)) //Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier.
{
$Ligne = fgets($fp, 255); //on récupère une ligne
$pos = strstr($Ligne, $modele);
$date=substr($pos,strlen($modele),12);
// echo $date;
break;
}
}
fclose($fp); //On ferme le fichier
?>