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 :

Voir le code HTML


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 68
    Par défaut Voir le code HTML
    Salut,

    Voila j'ai un script en php qui parse le code Html, pour obtenir le code d'une page, c'est pas très compliquer, il suffit de faire fopen("url_du_site"), cela marche très bien pour les site en HTML.

    Maintenant ca ne marche pas pour les sites en PHP, apparement il essaye d'ouvrir directement le fichier php source, ce qui lui est refusé forcément. Hors moi je veux simplement le code traduit coter client. Manuellement ce n'est pas compliqué, on charge le site dans un browser et on fait voir source. Mais comment le faire en php ?

    Merci de votre aide.

  2. #2
    Membre expérimenté Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Par défaut
    Non testé

    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
    <?php
    // Simple function to write text file
    function writeTextFile($fileName,$text) {
     
        $session = fopen($fileName,"a+");
        fputs($session,$text);
        fclose($session);
    }
     
    ob_start(); // Début de l'enregistrement
     
    //---
    // Le script PHP qui retournera les
    // données HTML qui vous intéressent.
    //---
     
    $content = ob_get_contents(); // Fin de l'enregistrement
    // Sauvegarder ma page dans un fichier html
    writeTextFile("maPage.htm",$content);
    ?>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 68
    Par défaut
    Merci mais ca n'est pas une solution, vu que dans cette exemple je suis sensé placer le script PHP dans le script lui meme, hors, c'est le code d'un site distant que je doit parser, une adresse type : http://www.unsite.com.

  4. #4
    Membre expérimenté Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Par défaut
    Ba t'as esseyé le code au moins ?

    Met $fileName = "http://tonsite.com/index.php"

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 68
    Par défaut
    $filename est le paramère de la fonction qu'on utilise en bas, pour ecrire le code dans un fichier. Mais j'ai parlé trop vite il y a un moyen en utilisant ce code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function writeTextFile($fileName,$text)
    {
    	$session = fopen($fileName,"a+");
    	fputs($session,$text);
    	fclose($session);
    } 
     
    ob_start();
    include("http://www.unsite.com");
     
    $content = ob_get_contents();
    writeTextFile("temp.txt",$content);
    Ca marche comme ca, par contre comment fait-on pour ne pas affichier l'include ? juste l'écrire dans le tampon sans l'afficher au client ?

  6. #6
    Invité4
    Invité(e)
    Par défaut
    si tu es sur un serveur linux, tu peux essayer de lancer le programme externe wget, qui lui télécharge bel et bien le résultat en html, tu lui spécifie de mettre le fichier téléchargé dans /tmp et après tu récupères le fichier.

  7. #7
    Membre expérimenté Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Par défaut
    Hum, je ne sais pas, au pire tu le fait en fesant une redirection juste après ?

  8. #8
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Je crois que tu fais fausse route.
    En effet, jamais tu ne pourras demander le coude source d'une page PHP. Tu demandes à afficher une certaine URL, le serveur t'envoie ce qu'il veut. Cela peut être le source lui-même (chose rarissime), une page HTML ou n'importe quel format de fichier (SWF, PDF, etc.).
    Je veux dire que tu n'as pas de moyen de choisir de demander au serveur "le source" ou bien "le résultat HTML" d'un script PHP : tu lui envoies l'adresse du script et il t'envoie alors ce qu'il doit t'envoyer.

    De manière classique, il suffit effectivement d'ouvrir le fichier et de le lire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo file_get_contents('http://www.domain.ext/file.php');

  9. #9
    Invité4
    Invité(e)
    Par défaut
    une redirection ne va pas fonctionner il cherche à lire du html, pas à l'interpréter

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 68
    Par défaut
    Citation Envoyé par Kirkis
    Salut

    Je crois que tu fais fausse route.
    En effet, jamais tu ne pourras demander le coude source d'une page PHP. Tu demandes à afficher une certaine URL, le serveur t'envoie ce qu'il veut. Cela peut être le source lui-même (chose rarissime), une page HTML ou n'importe quel format de fichier (SWF, PDF, etc.).
    Je veux dire que tu n'as pas de moyen de choisir de demander au serveur "le source" ou bien "le résultat HTML" d'un script PHP : tu lui envoies l'adresse du script et il t'envoie alors ce qu'il doit t'envoyer.

    De manière classique, il suffit effectivement d'ouvrir le fichier et de le lire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo file_get_contents('http://www.domain.ext/file.php');
    Je n'ai jamais voulu demander le code source PHP, je voulais simplement le résultat HTML, mais fopen tentais de prendre le script lui meme, c'est pq il ne marchait pas. L'exemple plus haut marche mais est un peu chippotage. Le file_get_contents() est exactement ce que je cherchais.

    Merci a tous.

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    J'ai dû mal m'expliquer.

    Il n'y a aucune différence entre :
    Citation Envoyé par choas
    Je n'ai jamais voulu demander le code source PHP
    et :
    Citation Envoyé par choas
    je voulais simplement le résultat HTML [NDLR : d'un script PHP]
    Conclusion
    Ta phrase suivante n'a pas de sens, à moins que tu utilises fopen() avec le système de fichiers plutôt qu'avec le serveur Web (mais ce serait une erreur de ta part) :
    Citation Envoyé par choas
    fopen tentais de prendre le script lui meme

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 68
    Par défaut
    Pour ma culture personnel bien que mon prob. soit résolu ^^, pourquoi fopen marchais pour optenir le code de :

    http://www.unsite.com/index.html

    et pas pour :

    http://www.unsite.com/index.php

    Si il n'essayera jamais de prendre la page source mais simplement le résultat de l'exécution ?

    PS : j'ai fait un nouveau post pour un problème d'èxécution de script en ligne de commande, si tu peux m'aider

    http://www.developpez.net/forums/viewtopic.php?t=475829

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

Discussions similaires

  1. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 15h03
  2. code html en ram -> TWebBrowser pour affichage
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/04/2003, 22h55
  3. Récupérer le code HTML d'une page avec Delphi 7
    Par PsyKroPack dans le forum Web & réseau
    Réponses: 5
    Dernier message: 06/02/2003, 21h56
  4. Générer du code HTML
    Par patpst dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/11/2002, 10h27
  5. composant builder4 pour afficher du code html
    Par BranRuz dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/09/2002, 11h35

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