[Résolu] Aide Fonction fopen()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Résolu] Aide Fonction fopen()

Re: Aide Fonction fopen()

par MisterSnow » 13 avr. 2012, 14:41

C'est parfait, c'est bien ça !
Mon problème est résolu ! =D

Encore merci pour tout !
@+

Re: Aide Fonction fopen()

par Mazarini » 13 avr. 2012, 13:43

Je pense effectivement qu'il faudrait remplacer http://www.monsite.com par la racine de ton site

La racine de ton site est contenu dans un élément de la variable $_SERVER. Un var_dump($_SERVEUR) te permettra de la trouver.

Re: Aide Fonction fopen()

par MisterSnow » 13 avr. 2012, 13:26

Pourtant voici mon code avec file_exists
<?php
$_animation = $this->getSkinUrl('blocks/animations/'.$_productID.'.php');
if (file_exists($_animation)) {
        echo"<div>contenu</div>";
        }
?>
Mais ça ne fonctionne pas...
Peut-etre que cela vient de mon chemin d'accès ? -> http://www.monsite.com/skin/frontend/ba ... /22295.php

Re: Aide Fonction fopen()

par Mazarini » 13 avr. 2012, 11:40

Le @ supprime l'envoi des messages au navigateur, mais pas leur enregistrement dans les log.

Je n'utilise pas is_readable, mais par contre file_exists et is_file me semble bien fonctionner. Il y a peut être des problèmes avec les noms de fichier qui comporte des blancs ou des problèmes avec les minuscules/majuscules. Mais ce qui marche avec fopen devrait marcher avec ces fonctions.

Re: Aide Fonction fopen()

par MisterSnow » 13 avr. 2012, 10:53

Merci Mazarini pour ta réponse !

J'avais regardé du coté de file_exists ou encore is_file ou is_readable mais aucun de fonctionne...
C'est pour ça que je suis passé par un fopen.

Dernière question, dans mes logs je retrouve des erreurs provenant de ma fonction fopen me disant que le fichier que j'ai tenté d'ouvrir n'existe pas.
Dans la notice j'ai lu: Si l'ouverture échoue, une alerte E_WARNING sera générée. Vous pouvez utiliser le caractère @ pour supprimer cette alerte.
J'ai donc modifié mon code comme suis mais les erreurs dans les logs sont toujours là...
<?php
$_animation = $this->getSkinUrl('blocks/animations/'.$_productID.'.php');
$ouverture = @fopen($_animation, "r");
if ($ouverture !== false) {
        echo"<div>contenu</div>";
        fclose($ouverture);
        }
?>
Des idées ? :(

Re: Aide Fonction fopen()

par Mazarini » 13 avr. 2012, 10:25

Oui, il y aura false. Par contre si il y a false, ca ne veut pas forcément dire que le fichier n'existe pas.

Tu peux regarder file_exits(http://php.net/manual/fr/function.file-exists.php) si tu veux savoir si le fichier existe.
Autrement, il y a readfile(http://fr.php.net/manual/fr/function.readfile.php) si tu veux afficher le contenu facilement.

Re: Aide Fonction fopen()

par MisterSnow » 13 avr. 2012, 10:11

Salut xTG,

Merci pour ta réponse rapide !
J'avais meme pas pensé à utiliser le !== ça se voit que je débute ! lol

Sinon il n'y a pas de problème particulier si jamais le fichier à ouvrir n'existe pas ?
On aura juste une valeur False qui sera reoutrné exacte ?

Re: Aide Fonction fopen()

par xTG » 13 avr. 2012, 09:58

Comme tu le dis ta condition n'est pas bonne.
C'est soit false, soit une ressource, donc ce n'est jamais true. ;)
if ($ouverture !== false) {

[Résolu] Aide Fonction fopen()

par MisterSnow » 13 avr. 2012, 09:45

Bonjour,

Je débute en programmation et j'aimerai avoir un peu d'aide concernant la fonction fopen().
Voici mon code:
<?php
$_animation = $this->getSkinUrl('blocks/animations/'.$_productID.'.php');
$ouverture = fopen($_animation, "r");
if ($ouverture == true) {
        echo"<div>contenu</div>";
        fclose($ouverture);
        }
?>
Apparemment il est bon puisque ça fonctionne mais en regardant le manuel de la fonction sur le web j'ai des doutes.
Il est écrit dans les Valeurs de retour: "Retourne une ressource représentant le pointeur de fichier, ou FALSE si une erreur survient."
Donc je ne suis pas sur que ma condition soit bonne...

Enfin si jamais mon fichier $_animation n'existe pas, quelles sont les conséquences ?
Je suppose qu'une erreur intervient mais est-ce que la stabilité de mon site s'en trouve impactée ?

En vous remerciant par avance pour vos lumières,
M.S