Script php
Amelie0528
Messages postés
51
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous
je viens vers pour demander l'assistance afin de trouver par ou commencer
en faite j'ai un système qui me renvoie un ficher .cdr tous les heures, une des colonnes de ce fichier contient des valeurs entier , je souhaite faire un script qui regarde cette colonne et si il ya une valeur qui est supérieur à 10, si c'est le cas une alerte s'affiche ( "attention valeur>10") et un mail sera envoyé si ce n'est pas le cas rien ne se passe .
je vous remercie d'avance
je viens vers pour demander l'assistance afin de trouver par ou commencer
en faite j'ai un système qui me renvoie un ficher .cdr tous les heures, une des colonnes de ce fichier contient des valeurs entier , je souhaite faire un script qui regarde cette colonne et si il ya une valeur qui est supérieur à 10, si c'est le cas une alerte s'affiche ( "attention valeur>10") et un mail sera envoyé si ce n'est pas le cas rien ne se passe .
je vous remercie d'avance
A voir également:
- Script php
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Expert php pinterest - Télécharger - Langages
2 réponses
Bonjour,
Déjà ... tout dépend de la forme du contenu de ton fichier "cdr"
mais si comme je le pense c'est un fichier de type csv ... il suffit de le lire ligne par ligne,
de faire un split pour trouver la colonne voulue ... puis de comparer la valeur obtenu avec celle que tu veux.
Tu peux utiliser https://www.php.net/manual/fr/function.fgetcsv.php peut etre.
Ou sinon, https://www.php.net/manual/fr/function.fread.php
Ensuite, générer l'envoie d'un mail. (pour ça, de nombreux exemples existent sur le net )
Déjà ... tout dépend de la forme du contenu de ton fichier "cdr"
mais si comme je le pense c'est un fichier de type csv ... il suffit de le lire ligne par ligne,
de faire un split pour trouver la colonne voulue ... puis de comparer la valeur obtenu avec celle que tu veux.
Tu peux utiliser https://www.php.net/manual/fr/function.fgetcsv.php peut etre.
Ou sinon, https://www.php.net/manual/fr/function.fread.php
Ensuite, générer l'envoie d'un mail. (pour ça, de nombreux exemples existent sur le net )
j'ai commencé mon script, la comparaison entre la valeur du champ de ma colonne et ma valeur seuil 10 ne se fait pas, je comprend pas pour quoi!!
en plus quand je force l'affichage il affiche l'alerte plusieurs fois or que je vois qu’il affiche juste le champ ou le contenu est supérieur a 10
help!!
en plus quand je force l'affichage il affiche l'alerte plusieurs fois or que je vois qu’il affiche juste le champ ou le contenu est supérieur a 10
help!!
$filename = "monfichier.cdr"; $ligne= file($filename); //lit le fichier entier et le place dans un tableau $nbTotalLignes=count($ligne); for($i=1;$i<$nbTotalLignes;$i++){ // On place chaque élément séparé par un ; dans un tableau $ligneTab = explode(";",$ligne[$i]); $seuil= 10; if (!$ligneTab[8] <= $seuil){ echo 'alerte' ; } }
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
Ajoutes donc un peu de debug puis testes ton code dans ton navigateur pour voir ce qu'il t'affiche
Par exemple :
Par exemple :
$filename = "monfichier.cdr"; $ligne= file($filename); //lit le fichier entier et le place dans un tableau $nbTotalLignes=count($ligne); $seuil= 10; $result = array(); // pour stocker le resultat dans un array for($i=1;$i<$nbTotalLignes;$i++){ // On place chaque élément séparé par un ; dans un tableau $ligneTab = explode(";",$ligne[$i]); //-----------------------------------------------------------// //le temps des tests : //-----------------------------------------------------------// echo "<br><b><u> Ligne N° ".$i."</u></b>"; echo "<pre> Contenu de la ligne :<br>"; print_r($ligneTab); echo "</pre>"; //-----------------------------------------------------------// // on retire les espaces superflus et on force en nombre $valeurCell = (float)trim($ligneTab[8]); if ($valeurCell <= $seuil){ $result[] =array("ligne"=>$i , "valeur"=>$valeurCell); } } //On affiche les erreurs : foreach($result as $err){ echo "<br>Ligne : ".$ligne['ligne']." - Alerte : ".$err['valeur'] ." <= " .$seuil; }
oui effectivement c'est un fichier de type csv
une fois le script est fini, comment faire pour qu'il fonctionne sachant qu'il va être placé au serveur. Normalement le script doit faire le travail et affiché l'alerte , comment ca va se faire?, dois-je faire un bouton pour démarrer le script ???
c'est flou pour moi ce genre de tache
Si tu veux déclencher cette vérification "mnauellement", Oui, un bouton pourra faire l'affaire.
Sinon, si tu veux le faire en automatique, tu pourrais aussi regarder du côté des tâches planifiées ( tout dépend si ton serveur les autorise ou non... ça ... seul l'admin peut te le dire....)
Si oui... tu créés une tâche planifiée qui tourne toutes les x minutes ( 1 fois par heure par exemple...) et qui va :
- Vérifier si ton fichier est présent sur le serveur
- Si oui ... lancer le script de vérification
je vais m'orienté vers cette solution
je vous remercie