IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

lire une fichier présent dans /etc/


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 17
    Points
    17
    Par défaut lire une fichier présent dans /etc/
    Salutations tout le monde

    j'aurais besoin (à mon petit niveau) d'ouvrir en lecture le fichier /etc/dhcp/dhcpd.conf du serveur Ubuntu qui héberge mon apache

    j'ai essayé pas mal de manip, mis pas mal de ../ devant etc dans mon script, mais au final rien

    Est ce possible au final ? ou alors puis je faire une copie temporaire et lire cette copie ? si oui, idem, combien de ../ ?? ^^

    merci, bonne journée

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2010
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 144
    Points : 241
    Points
    241
    Par défaut
    Si www-data a la permission d'accéder au fichier il n'y a pas de raison qu'il puisse pas l'ouvrir.
    Ce n'est pas la peine de compter les "../" il suffit de prendre le chemin complet "/etc/dhcp/dhcpd.conf"

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    La plupart des fichiers de /etc/ ont un un niveau de droit restreint et pour cause: ce sont des fichiers de configuration importants. Tu ne devrais pas les modifier directement, une approche plus souple consiste à importer les règles d'un fichier ayant moins de droits dans le fichier de configuration principal (comme avec Apache qui charge tous les scripts de /etc/httpd/conf.d) mais je ne sais pas si la conf de dhcpd fonctionne comme ça.

    Sinon, tu as toujours la possibilité de modifier les droits d'accès au fichier /etc/dhcp/dhcpd.conf avec chmod pour permettre à www-data de l'éditer mais je serais toi j'éviterai de faire ça pour des raisons de sécurité.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 17
    Points
    17
    Par défaut Script de lecture du fichier DHCP
    Salut tout le monde, désolé pour le retard, je n'ai pas pu poster mon message hier

    je suis finalement passé par la copie ttemporaire du fichier

    j'avais besoin de récupérer les IP et les hosts des postes recensés dans le fichier

    voici donc un script rapide qui pourra être utile pour quelqu'un

    il est fait à l'arrache, merci de l'améliorer

    merci bien, bon weekend


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
    copy('/etc/dhcp/dhcpd.conf', 'dhcpd.conf');
     
    if($fichier=fopen('dhcpd.conf',"r+"))
    {
    		$nblignes = 0;
    		while(!feof($fichier))
    			{ 
    				$lignefichier[$nblignes] = fgets($fichier,256);
    				$nblignes++;
    			}
    		// fermeture du fichier
    		fclose($fichier);
     
    		For($i=0; $i<($nblignes-1); $i++)
    		{
    			$motsligne = explode(" ", $lignefichier[$i]);
    			if (array_key_exists(0, $motsligne))
    			{
    				if ((trim($motsligne[0])) === 'host')// Si le 1er mot de la ligne est 'host'
    				{
    					$host = $motsligne[1]; // l' 'host' est le mot suivant de cette ligne
    					// et 2 lignes en dessous on a l'IP				
    					$IP =  substr(trim($lignefichier[$i+2]), 14, -1); // on enlève le 'fixed-address' et le ';'
     
    				}
    			}		
    		}		
    }
    ?>

  5. #5
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $nblignes = 0;
    		while(!feof($fichier))
    			{ 
    				$lignefichier[$nblignes] = fgets($fichier,256);
    				$nblignes++;
    			}
    Se remplace avantageusement par file.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lire un fichier .html dans une page asp.net
    Par traksmen dans le forum ASP.NET
    Réponses: 4
    Dernier message: 02/06/2008, 15h47
  2. Réponses: 1
    Dernier message: 29/04/2008, 23h53
  3. Lire un fichier texte dans une String
    Par philomania dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 31/12/2007, 13h51
  4. Réponses: 3
    Dernier message: 19/02/2007, 23h01
  5. Réponses: 2
    Dernier message: 22/09/2006, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo