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 :

Récupérer contenu d'une page HTML


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut Récupérer contenu d'une page HTML
    Bonjour à Tous,

    J'ai trouvé ce code sur internet, qui doit permettre de sauvegarder le contenu d'une page html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
        $file = fopen ($url,"r");
        if (!$file) {
            return null;
        }
        $doc = "";
        while (!feof ($file))
           $doc .= fgets ($file, 1024);
        fclose($file);
        return $doc;
     
    ?>
    Hors lorsque je l'execute, par exemple :

    monfichier.php?url=http://monsite.fr/mapage.html
    J'ai une erreur :

    Multiple Choices
    The document name you requested (/monsite/test3.php&url=http://monsite.fr/mapage.html) could not be found on this server. However, we found documents with names similar to the one you requested.
    Available documents:

    /upload/test3.php//monsite.fr/mapage.html (common basename)
    Merci de toute aide...

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    La valeur de la variable url doit certainement être encodée (fonction urlencode) car elle possède des caractères spéciaux. Une fonction de décodage analogue existe pour faire le travail inverse (urldecode).


    Julp.

  3. #3
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Merci alors j'ai tenté ça :

    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
    <?
     
     
    	 $file = fopen (urlencode("...monsite\mapage.html"),"r");
      	  if (!$file) {
        	    return null;
    		    }
      	  $doc = "";
      	  while (!feof ($file)) 
    {
      	$doc = fgets ($file, 1024);
    	fichier=fopen("ma_new_page.html","a");
    	fputs("$fichier", "$doc");
    }	
     
        fclose($file);
        fclose($fichier);
     
     
    ?>
    Cela me créé bien mon fichier ma_new_page.html mais vide

    Merci pour votre aide...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    A l'appel de votre fonction ou dans votre fonction vous devriez faire appel à urldecode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $resultat = nom_fonction(urldecode($_GET['url']));
    // ou
    fonction ma_fonction($url) {
        // [...]
        $url = urldecode($url);
        // [...]
    }
    Par contre si le lien est généré avec PHP, là il faudrait utiliser urlencode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $page = 'http://monsite.fr/mapage.html';
    echo '<a href="monfichier.php?url=' . urlencode($page) . '">...</a>';

    Julp.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Je profite de sujet pour souligner que vous pouvez aussi utiliser la librairie libcurl qui permet de lire assez aisément le contenu d'une page web (je pense même que c'est plus rapide que c'est plus propre que fopen).
    Bonne journée.

  6. #6
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Citation Envoyé par Raideman
    Je profite de sujet pour souligner que vous pouvez aussi utiliser la librairie libcurl qui permet de lire assez aisément le contenu d'une page web (je pense même que c'est plus rapide que c'est plus propre que fopen).
    Bonne journée.
    Merci pour vos réponses.

    En cherchant sur Google, je n'ai pas trouvé aucun exemple de manipulation de cette librairie

    Pourrait tu m'éclairer un peu plus ?

    Merci

Discussions similaires

  1. Récupérer le contenu d'une page html
    Par kerma dans le forum C#
    Réponses: 2
    Dernier message: 18/08/2009, 11h30
  2. activer avec vba un lien hypertexte contenu dans une page html
    Par epaminondas dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/05/2008, 10h55
  3. Récuperer le contenu d'une page html sans les balises.
    Par ilalaina dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/04/2008, 13h47
  4. [AJAX] Recupérer le contenu d'une page html
    Par tenev911 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/03/2007, 00h25
  5. Réponses: 5
    Dernier message: 30/11/2005, 09h48

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