IF
andythevenet
Messages postés
124
Statut
Membre
-
rodoplop Messages postés 77 Statut Membre -
rodoplop Messages postés 77 Statut Membre -
Bonjour,
j'aimerais savoir comment faire pour ca:
ex:
if ( file('fichier.ext') = "ici je met quoi pour (regarde en bas)")
je fais comment pour :
si le fichier contien quelque chose ca affiche le contenu
ps: j'ai besoin juste de cette ligne
Merci d'avance
Je suis un asser fort en programmation php html
j'aimerais savoir comment faire pour ca:
ex:
if ( file('fichier.ext') = "ici je met quoi pour (regarde en bas)")
je fais comment pour :
si le fichier contien quelque chose ca affiche le contenu
ps: j'ai besoin juste de cette ligne
Merci d'avance
Je suis un asser fort en programmation php html
6 réponses
Bonjour
Un peu succincte comme question...
Tu dois retrouver quoi dans ta condition ?
Le nom du fichier?
Un mot dans le fichier?
Dans quel langage ?
Peux-tu détailler svp ?
Un peu succincte comme question...
Tu dois retrouver quoi dans ta condition ?
Le nom du fichier?
Un mot dans le fichier?
Dans quel langage ?
Peux-tu détailler svp ?
ba enfaîte c'est pour un espace protégé pour les intrusions et les intrusion sont enregistrés dans le fichier et je veut faire que si le fichier contient quelque chose sa affiche l'ip de la personne sinon ca affiche qu'il n'y a eu aucune intrusion
en quel langage tu cherche à faire cela ?
sinon si je comprend bien, lorsqu'une intrusion est réalisé, l'adresse ip est enregistré dans ce fichier ?
et tu souhaiterai consulter ce fichier que si il y a eu des intrusion et afficher le contenu de ce fichier.
le plus simple serait de faire dans cette ordre
1) test si le fichier 'file.txt' existe (par exemple en php un file_exist)
2) est-ce que le fichier est vide (toujours en php : filesize())
3) si vide : aucune intrusion
3') sinon ouverture du fichier, lecture (fopen, fread, ...)
ensuite pour finir, soit tu utilise toujours le même fichier, tu supprime le contenu du fichier (si tu veux garder une trace, tu fait une copie de ce fichier dans un autre répertoire)
sinon, le mieux est d'avoir un fichier avec la date, dans le cas où par exemple tu test les intrusions une fois par jour.
je ne sais pas si sa répondra entièrement à ta question car tu reste assez vague sur ce que tu souhaite faire.
sinon si je comprend bien, lorsqu'une intrusion est réalisé, l'adresse ip est enregistré dans ce fichier ?
et tu souhaiterai consulter ce fichier que si il y a eu des intrusion et afficher le contenu de ce fichier.
le plus simple serait de faire dans cette ordre
1) test si le fichier 'file.txt' existe (par exemple en php un file_exist)
2) est-ce que le fichier est vide (toujours en php : filesize())
3) si vide : aucune intrusion
3') sinon ouverture du fichier, lecture (fopen, fread, ...)
ensuite pour finir, soit tu utilise toujours le même fichier, tu supprime le contenu du fichier (si tu veux garder une trace, tu fait une copie de ce fichier dans un autre répertoire)
sinon, le mieux est d'avoir un fichier avec la date, dans le cas où par exemple tu test les intrusions une fois par jour.
je ne sais pas si sa répondra entièrement à ta question car tu reste assez vague sur ce que tu souhaite faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voici le contenu du fichier:
<html>
<title> Administration Protect System V2.0TXT </title>
<style type="text/css">
.Style1 {
font-family: "Courier New", Courier, mono;
font-size: 18px;
}
.Style3 {
font-family: "Courier New", Courier, mono;
font-size: 12px;
}
.Style4 {
font-size: 14px;
color: #FF0000;
}
.Style5 {font-size: 12px}
.Style7 {
font-family: "Courier New", Courier, mono;
font-size: 10px;
}
.Style8 {
color: #009900;
font-weight: bold;
}
.Style9 {
color: red;
}
.Style10 {
width: 70%;
right: 15%;
left: 15%;
}
</style>
<head>
</head>
<body>
<div align="center">
<p><strong><span class="Style1">Bienvenue dans l'administration</span></strong></p>
<p class="Style3">Voici les adresses IP qui ont tentés d'acceder a un fichier protegé
:<br>
<span class="Style7">[ Si rien ne s'affiche c'est qu'il n'y a eu aucune tentative
d'intrusion. ] </span> </p>
<p> </p>
<fieldset class="Style10">
<?php
if ( file('protect_system.txt') = "")
{
$lines = file ('protect_system.txt');
// Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
foreach ($lines as $line_num => $line) {
echo '<div class="Style9">'. htmlspecialchars($line) . '</div><br />--'."\n";
}
}
else
{
echo "Aucune tentative"
}
?>
</fieldset>
<br>
<p class="Style3 Style4"> </p>
<a href="javascript:window.location.reload()">
<p class="Style8">[Actualiser]</p></a>
<p class="Style3 Style4"> </p>
<p class="Style3 Style4">Effacer les adresses IP :</p>
<p class="Style3 Style4"><a href="95547ViDaGe6547.php"><strong>Ok </strong></a><br>
<span class="Style5">Attention cette operation ne peut être annulée. </span> </p>
</div>
<center><br><br>
<font size='1'>© Copyright <a href='http://www.top-gratuit.sp.st' target='_blank'>Protect
System V2.0TXT</a> 2004-2005</font>
</center>
</body>
</html>
et l'erreur:
Fatal error: Can't use function return value in write context in /web/viedados/gouv/protect_system/admin/6725page_admin5648.php on line 52
Je suis un asser fort en programmation php html
<html>
<title> Administration Protect System V2.0TXT </title>
<style type="text/css">
.Style1 {
font-family: "Courier New", Courier, mono;
font-size: 18px;
}
.Style3 {
font-family: "Courier New", Courier, mono;
font-size: 12px;
}
.Style4 {
font-size: 14px;
color: #FF0000;
}
.Style5 {font-size: 12px}
.Style7 {
font-family: "Courier New", Courier, mono;
font-size: 10px;
}
.Style8 {
color: #009900;
font-weight: bold;
}
.Style9 {
color: red;
}
.Style10 {
width: 70%;
right: 15%;
left: 15%;
}
</style>
<head>
</head>
<body>
<div align="center">
<p><strong><span class="Style1">Bienvenue dans l'administration</span></strong></p>
<p class="Style3">Voici les adresses IP qui ont tentés d'acceder a un fichier protegé
:<br>
<span class="Style7">[ Si rien ne s'affiche c'est qu'il n'y a eu aucune tentative
d'intrusion. ] </span> </p>
<p> </p>
<fieldset class="Style10">
<?php
if ( file('protect_system.txt') = "")
{
$lines = file ('protect_system.txt');
// Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
foreach ($lines as $line_num => $line) {
echo '<div class="Style9">'. htmlspecialchars($line) . '</div><br />--'."\n";
}
}
else
{
echo "Aucune tentative"
}
?>
</fieldset>
<br>
<p class="Style3 Style4"> </p>
<a href="javascript:window.location.reload()">
<p class="Style8">[Actualiser]</p></a>
<p class="Style3 Style4"> </p>
<p class="Style3 Style4">Effacer les adresses IP :</p>
<p class="Style3 Style4"><a href="95547ViDaGe6547.php"><strong>Ok </strong></a><br>
<span class="Style5">Attention cette operation ne peut être annulée. </span> </p>
</div>
<center><br><br>
<font size='1'>© Copyright <a href='http://www.top-gratuit.sp.st' target='_blank'>Protect
System V2.0TXT</a> 2004-2005</font>
</center>
</body>
</html>
et l'erreur:
Fatal error: Can't use function return value in write context in /web/viedados/gouv/protect_system/admin/6725page_admin5648.php on line 52
Je suis un asser fort en programmation php html
alors pour reprendre les erreurs de ton script
tu met un seul signe '=' mais pour un test, il faut deux signe '='
ensuite, après correction, ton test est inversés.
en effet, la fonction file te renvoi le contenu du fichier, donc si il est vide, c'est qu'il n'y a aucune intrusion. Du coup il faut corriger comme cela
déjà avec ça, ça corrige quelques erreurs.
pour finir avec ta fatal error, à voir le fichier et la ligne concerné.
<?php
if ( file('protect_system.txt') = "")
{
tu met un seul signe '=' mais pour un test, il faut deux signe '='
ensuite, après correction, ton test est inversés.
en effet, la fonction file te renvoi le contenu du fichier, donc si il est vide, c'est qu'il n'y a aucune intrusion. Du coup il faut corriger comme cela
//on assigne le contenu de file dans $lines et on test si le resultat est vide
if ( ($lines = file('protect_system.txt')) == "")
{
//si vide, alors aucune intrusion
echo "Aucune tentative"
}
else
{
//$lines est pas vide, donc des ip ont été logués
// Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
foreach ($lines as $line_num => $line) {
echo '<div class="Style9">Ligne numéro '.$line_num.' : '.htmlspecialchars($line). '</div></br>';
}
déjà avec ça, ça corrige quelques erreurs.
pour finir avec ta fatal error, à voir le fichier et la ligne concerné.