[PHP] lire fihier txt avec liste de sites
Fermé
Jérémy
-
1 févr. 2007 à 01:34
askiplop Messages postés 7 Date d'inscription jeudi 1 février 2007 Statut Membre Dernière intervention 16 décembre 2008 - 2 févr. 2007 à 01:15
askiplop Messages postés 7 Date d'inscription jeudi 1 février 2007 Statut Membre Dernière intervention 16 décembre 2008 - 2 févr. 2007 à 01:15
A voir également:
- [PHP] lire fihier txt avec liste de sites
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Liste déroulante excel - Guide
- Sites de téléchargement - Accueil - Outils
- Lire epub - Guide
- Sites de vente d'occasion - Guide
5 réponses
plop!
Messages postés
54
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 mai 2007
27
1 févr. 2007 à 06:22
1 févr. 2007 à 06:22
Pourquoi pas :
<?php
$dom = $_GET['dom'];
$inc = "sites/$dom.php";
if(file_exists($inc))
include($inc);
else
include("sites/defaut.php");
?>
Et ensuite dans le dossier sites tu as les fichiers :
login.live.com.php
astalavista.com.php
defaut.php
Qui contiennent ce que tu as mis entre tes if là haut
Par exemple :
login.live.com.php contient :
<div align="center">
<table border="0" width="20" id="table1" cellspacing="0" cellpadding="0" height="20">
<tr>
<td bgcolor="#008000">
<p align="center">
<a href="javascript:alert('<?php echo $dom; ?>')">?</a></td>
</tr>
</table>
</div>
C'est une méthode un peu dangereuse, mais elle marche !
A l'avenir tu devrais t'intéresser à la bibliothèque Smarty.
Au faite, j'ai supposé qu'il n'y avait pas que la couleur qui changeais entre tes 3 "sites", mais s'il n'y a que la couleur qui change entre tes 3 sites, -- mort de rire, je viens de me taper un post qui sert à rien -- alors tu fais :
<?php
$trans = array("login.live.com"=>"#008000", "astalavista.com"=>"#800000");
$dom = $_GET['dom'];
if(!($coul = $trans[$dom])) $coul = "#808080";
?>
<div align="center">
<table border="0" width="20" id="table1" cellspacing="0" cellpadding="0" height="20">
<tr>
<td bgcolor="<?php echo $coul; ?>">
<p align="center">
<a href="javascript:alert('<?php echo $dom; ?>')">?</a></td>
</tr>
</table>
</div>
Voilà le travail.
<?php
$dom = $_GET['dom'];
$inc = "sites/$dom.php";
if(file_exists($inc))
include($inc);
else
include("sites/defaut.php");
?>
Et ensuite dans le dossier sites tu as les fichiers :
login.live.com.php
astalavista.com.php
defaut.php
Qui contiennent ce que tu as mis entre tes if là haut
Par exemple :
login.live.com.php contient :
<div align="center">
<table border="0" width="20" id="table1" cellspacing="0" cellpadding="0" height="20">
<tr>
<td bgcolor="#008000">
<p align="center">
<a href="javascript:alert('<?php echo $dom; ?>')">?</a></td>
</tr>
</table>
</div>
C'est une méthode un peu dangereuse, mais elle marche !
A l'avenir tu devrais t'intéresser à la bibliothèque Smarty.
Au faite, j'ai supposé qu'il n'y avait pas que la couleur qui changeais entre tes 3 "sites", mais s'il n'y a que la couleur qui change entre tes 3 sites, -- mort de rire, je viens de me taper un post qui sert à rien -- alors tu fais :
<?php
$trans = array("login.live.com"=>"#008000", "astalavista.com"=>"#800000");
$dom = $_GET['dom'];
if(!($coul = $trans[$dom])) $coul = "#808080";
?>
<div align="center">
<table border="0" width="20" id="table1" cellspacing="0" cellpadding="0" height="20">
<tr>
<td bgcolor="<?php echo $coul; ?>">
<p align="center">
<a href="javascript:alert('<?php echo $dom; ?>')">?</a></td>
</tr>
</table>
</div>
Voilà le travail.
askiplop
Messages postés
7
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 décembre 2008
1
1 févr. 2007 à 23:35
1 févr. 2007 à 23:35
Pourquoi "dangereuse" ?
Merci pour les codes, je préfère le 2e.
Mais j'aurais aimé savoir comment faire pour que tout les site "vert" soit dans un fichier txt et que les sites "rouges" soient dans un autre txt, si possible, comment fait-on ?
Merci beaucoup Plop!
Jérémy
Merci pour les codes, je préfère le 2e.
Mais j'aurais aimé savoir comment faire pour que tout les site "vert" soit dans un fichier txt et que les sites "rouges" soient dans un autre txt, si possible, comment fait-on ?
Merci beaucoup Plop!
Jérémy
plop!
Messages postés
54
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 mai 2007
27
2 févr. 2007 à 00:10
2 févr. 2007 à 00:10
Dangereuse car si quelqu'un t'envoie n'importe quoi en GET, il peut exécuter le fichier php qu'il veut.
Imaginons qu'il mette : "<ton URL>?dom=../admin/reset.php"
Même si tu as mis un .htaccess dans le dossier admin, ici c'est le serveur (système de fichiers) qui va ouvrir ce fichier et qui outrepasse la config serveur.
Autre cas : si quelqu'un arrive à uploader un fichier php sur ton serveur, il pourra le faire exécuter par cette page. Le problème vient du fait d'inclure (fonction include) quelque chose qui dépend d'une entrée utilisateur (ici get).
Je ne comprends pas ta question. Tu me parles de fichiers textes mais tu me dis que le 2e exemple te plait mieux. Dans le 2e exemple il n'y a PAS de fichiers texte !
Imaginons qu'il mette : "<ton URL>?dom=../admin/reset.php"
Même si tu as mis un .htaccess dans le dossier admin, ici c'est le serveur (système de fichiers) qui va ouvrir ce fichier et qui outrepasse la config serveur.
Autre cas : si quelqu'un arrive à uploader un fichier php sur ton serveur, il pourra le faire exécuter par cette page. Le problème vient du fait d'inclure (fonction include) quelque chose qui dépend d'une entrée utilisateur (ici get).
Je ne comprends pas ta question. Tu me parles de fichiers textes mais tu me dis que le 2e exemple te plait mieux. Dans le 2e exemple il n'y a PAS de fichiers texte !
askiplop
Messages postés
7
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 décembre 2008
1
2 févr. 2007 à 00:34
2 févr. 2007 à 00:34
Oui, je sais, j'aimerais qu'il en ai un !
Parce que je compte avoir beaucoup de sites répertoriés, alors deux fichiers textes seraient mieux.
Merci pour l'explication.
Bonne soirée.
$trans = array("login.live.com"=>"#008000", "astalavista.com"=>"#800000");
Parce que je compte avoir beaucoup de sites répertoriés, alors deux fichiers textes seraient mieux.
Merci pour l'explication.
Bonne soirée.
plop!
Messages postés
54
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 mai 2007
27
2 févr. 2007 à 00:43
2 févr. 2007 à 00:43
Ah, la vache, je viens de comprendre ! OUF !
C'est hyper simple :
deux fichiers liste_verte.txt et liste_rouge.txt contiennent les sites séparés par des retour chariots.
Ton script sera alors :
<script>
<?php
$dom = $_GET['dom'];
if(in_array($dom, file("liste_verte.php"))
$coul = "#008000";
else if(in_array($dom, file("liste_rouge.php"))
$coul = "#800000";
else
$coul = "#808080";
?>
<div align="center">
<table border="0" width="20" id="table1" cellspacing="0" cellpadding="0" height="20">
<tr>
<td bgcolor="<?php echo $coul; ?>">
<p align="center">
<a href="javascript:alert('<?php echo $dom; ?>')">?</a></td>
</tr>
</table>
</div>
</code>
C'est hyper simple :
deux fichiers liste_verte.txt et liste_rouge.txt contiennent les sites séparés par des retour chariots.
Ton script sera alors :
<script>
<?php
$dom = $_GET['dom'];
if(in_array($dom, file("liste_verte.php"))
$coul = "#008000";
else if(in_array($dom, file("liste_rouge.php"))
$coul = "#800000";
else
$coul = "#808080";
?>
<div align="center">
<table border="0" width="20" id="table1" cellspacing="0" cellpadding="0" height="20">
<tr>
<td bgcolor="<?php echo $coul; ?>">
<p align="center">
<a href="javascript:alert('<?php echo $dom; ?>')">?</a></td>
</tr>
</table>
</div>
</code>
plop!
Messages postés
54
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 mai 2007
27
2 févr. 2007 à 00:47
2 févr. 2007 à 00:47
Désolé, je me suis trompé de balise et j'ai fait des erreurs, mais y'a un bug sur CCM, je peux plus éditer l'ancien post.
<?php $dom = $_GET['dom']; if(in_array($dom, liste("liste_verte.txt"))) $coul = "#008000"; else if(in_array($dom, liste("liste_rouge.txt"))) $coul = "#800000"; else $coul = "#808080"; function liste($fichier) { $f = file($fichier); foreach($f as $i=>$l) $f[$i] = trim($l); return $f; } ?> <div align="center"> <table border="0" width="20" id="table1" cellspacing="0" cellpadding="0" height="20"> <tr> <td bgcolor="<?php echo $coul; ?>"> <p align="center"> <a href="javascript:alert('<?php echo $dom; ?>')">?</a></td> </tr> </table> </div>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
askiplop
Messages postés
7
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
16 décembre 2008
1
2 févr. 2007 à 01:15
2 févr. 2007 à 01:15
YOUPIIII !!!hhaaaahaa !!
Sa marche !!!!!! Tes un génie, je t'adore :D
Merci mille fois....
:D
Si tu veux toujour discuté, jai msn, jeremy_dicaire@hotmail.com
a+
Sa marche !!!!!! Tes un génie, je t'adore :D
Merci mille fois....
:D
Si tu veux toujour discuté, jai msn, jeremy_dicaire@hotmail.com
a+