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 :

Stocker le contenu d'un fichier.php dans une variable php?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Débutant en XSLT
    Inscrit en
    Avril 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Débutant en XSLT

    Informations forums :
    Inscription : Avril 2011
    Messages : 54
    Par défaut Stocker le contenu d'un fichier.php dans une variable php?
    Bonjour,

    Dans un fichier mail.php je met en page un mail (formaté html).

    Dans un fichier envoie.php j'utilise la fonction mail() pour envoyer ce mail.

    J'aimerais pouvoir stocker le code html contenu dans le fichier mail.php dans une variable $message afin de l'utiliser dans ma fonction mail().

    Est-ce possible ?

    Pour le moment j'utilise la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message = include('mail.php');
    Mais quand je fais :
    Il me retourne la valeur "1" ...


    Merci d'avance.

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Salut,

    Utilise la fonction file_get_contents() en mettant l'URL http:// étant donné qu'il faut que ton PHP soit interprété :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail = file_get_contents('http://localhost/TON_URL/mail.php');
    ++

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Non faut pas faire comme ça. Il faut que $message soit égal à ta chaine de caractère qui constitue le message formaté html.

    include permet d'inclure du code mais pas de l'affecter à une variable. Dans ce cas cela te retourne 1 parce que la fonction a trouvé le fichier mail.php. L'inclusion s'est faite correctement mais il n'y a pas eu d'affectation de code à la variable.

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    ... je viens de lire le message de Khleo

    Effectivement si ton fichier mail.php contient exclusivement le texte de ton message avec ses balises html tu peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail = file_get_contents('mail.php');
    (par rapport au message de Khleo j'ai mis 'mail.php' pour dire que tu peux utiliser les url relatives)

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Salut,

    Oui, uniquement si son fichier .php contient uniquement du texte. (Bizarre de lui avoir donné cette extension, un .htm ou un .txt aurait suffit.)

    ++

  6. #6
    Membre averti
    Homme Profil pro
    Débutant en XSLT
    Inscrit en
    Avril 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Débutant en XSLT

    Informations forums :
    Inscription : Avril 2011
    Messages : 54
    Par défaut
    Bonjour,
    Merci pour vos réponses rapides !

    Si j'utilise un mail.php c'est parce j'étais partie sur une logique de travail "pratique".
    J'ai séparé header, contenu et footer puisque je vais être amené à faire des modifications, en séparant tout ça je peux travailler plus clairement.


    J'ai fais le test avec la fonction que vous m'avez conseillée. A savoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message = file_get_contents('http://mon_url/mail.php')
    Pour le moment je ne peux tester que sur un server Free et voilà ce qu'il me répond :
    Warning: file_get_contents(http://mon_url/mail.php) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /mnt/104/sdb/a/f/mon_url/envoie.php on line 58
    *J'ai remplacé l'url par "mon_url" car elle était longue!

    Dois-je en conclure que Free interdit cette fonction ? Ou le bug vient de ma manip' ?

    (à savoir que l'envoie de mail html fonctionne si j'écris le code à la main, en string, dans ma variable $message)
    J'ai fais un test avec un fichier mail.htm et je l'ai appelé avec la fonction file_get_contents()... mais j'ai la même erreur.

  7. #7
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Et en essayant file_get_contents('mail.php') ?

Discussions similaires

  1. [PHP-JS] Une variable PHP dans une autre page
    Par Nooby dans le forum Langage
    Réponses: 22
    Dernier message: 25/06/2008, 17h07
  2. [PHP-JS] une variable php dans une fonction javascript
    Par megapacman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2006, 14h08
  3. [PHP-JS] une variable php dans une fonction javascript
    Par megapacman dans le forum Langage
    Réponses: 3
    Dernier message: 12/06/2006, 14h02
  4. Réponses: 12
    Dernier message: 26/01/2006, 09h30

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