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 :

2 tites questions: - writable, - require(_once)


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut 2 tites questions: - writable, - require(_once)
    Bonjour,

    2 tites questions aujourd'hui,
    - writable:
    je verifie l'existence d'un fichier
    je verifie son ouverture
    je verifie qu'il est bien writable

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    // ouvrir le fichier contenant la partie
    $fichier= "pgn/parties_commentees/membres/".$proprietaire."/".$partie;
     
    // si le fichier existe
    if(file_exists($fichier) ) {
    	echo "fichier existe";
    	echo "<br>";
    	$fichier_ouvert= fopen($fichier, "a+");
     
    	// si on peut ouvrir le fichier
    	if($fichier_ouvert) {
    		echo "le fichier est ouvert";
    		echo "<br>";
     
    		// si on peut ecrire ds le fichier
    		if(is_writable($fichier) ) {
    			echo "Le fichier est accessible en ecriture.";
    			echo "<br>";
    			echo "ftell a l'ouverture du fichier: ".ftell($fichier_ouvert);
    			echo "<br>";
    		}
     
     
    		// si on ne peut pas ecrire ds le fichier
    		if(!is_writable($fichier) ) {
    			echo "<br>";
    			echo "WARNING: ";
    			echo "<br>";
    			echo "ERREUR type A: il est impossible d'ecrire dans ce fichier";
    			exit;
    		}
    	}
     
    	// le fichier a ete ouvert: on le ferme
    	fclose($fichier_ouvert);
     
    	// si on ne peut pas ouvrir le fichier
    	if(!$fichier_ouvert) {
    		echo "<br>";
    		echo "WARNING: ";
    		echo "<br>";
    		echo "ERREUR type A, l'ouverture du fichier a echoue";
    		exit;
    	}
    }
    // si le fichier n'existe pas
    else {
    	echo "fichier introuvable";
    	echo "<br>";
    }
    j'ouvre le fichier en mode a+, dc normalement lecture/ecriture avec le pointeur en fin de fichier.
    Lorsque je suis sur cette page, le ftell m'annonce 0: j'imagine que le pointeur se trouve en début de fichier???

    MAIS le véritable problème: si j'ouvre mon fichier en lecteur seule (mode r), la page m'indique que le fichier est accessible en ecriture???
    c'est ça qui me turlupine... Puis-je avoir une explication svp.

    la seconde interrogation est à propos des appels de fonctions (écrites dans un fichier de fonctions .php)

    Le site est en pseudo-frames
    sur certaines pages, j'appelle mon fichier de fonctions puis la fonction qui m'intéresse. Ca fonctionne, pas de souci
    sur d'autres pages, j'appelle directement la fonction mais je n'appelle pas le fichier de fonctions... et ca fonctionne aussi???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    log_internautes(&$parametre_erreur);
    fonctionne sans que je sois obligé de passer par un require_once("php/fonctions.php").
    Est-ce que là aussi je pourrai avoir une explication.

    Merci bien,
    areuh
    longue vie aux forums

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    is_writable() te retourne les informations sur le fichier lui même, pas sur la ressource que tu as crée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut
    hop,

    D'après ce que je comprends, is_writable concerne les permissions du fichier sur le disque dur (777 ou 664, etc etc) tandis que les permissions sur la ressource sont celles que j'accorde grace aux differents modes que permet PHP (a, a+; r, w+, x, etc etc)?

    areuh
    longue vie aux forums

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est bien comme cela que je le vois.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut
    re hop,

    ok, je te remercie pour la précision.

    je vais abuser en te demandant si tu as une réponse pour la seconde... (j'ai peur que tu me répondes: le passage de variable par référence implique...)

    areuh
    longue vie aux forums

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si ta deuxieme page est incluse dans une page qui a déjà inclus les fonctions ...
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut
    Bjour,

    8j pour repondre... lamentable...
    effectivement, j'avais l'appel au fichier de fonctions dans le menu.
    j'ai préféré le mettre sur chacune des pages... je trouve cela plus explicite (mais je suis un mauvais programmeur car pas feignant.)

    Merci des réponses, sabotage.

    a+
    areuh
    longue vie aux forums

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

Discussions similaires

  1. PropertyGrid, tite question
    Par waspy59 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 26/01/2008, 23h07
  2. threads pas Thread ! (1 tte tite question)
    Par lagra3 dans le forum Langage
    Réponses: 3
    Dernier message: 11/08/2006, 12h28
  3. 2 p'tites questions sur le Wifi
    Par wxcvbn123456 dans le forum Hardware
    Réponses: 6
    Dernier message: 29/05/2006, 10h07
  4. Une tite question sur Grep()
    Par bluecurve dans le forum Langage
    Réponses: 16
    Dernier message: 16/07/2005, 15h47
  5. p'tite question de cryptage ( nombre aléatoire )
    Par smyley dans le forum Algorithmes et structures de données
    Réponses: 53
    Dernier message: 08/11/2004, 10h07

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