Récupérer url de destination dans une variable

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

pillets
WRInaute impliqué
WRInaute impliqué
 
Messages: 370
Inscription: Ven Jan 13, 2006 17:51

Récupérer url de destination dans une variable

Message le Sam Jan 19, 2008 1:55

Bonjour

J'ai une url du type :
http://www.example.com/redirect.php?id=12345 qui redirige vers :
http://www.example.com/page_abcd.html

Je voulais savoir comment en php on pouvait à partir de la première url connaitre l'url de destination et ainsi l'afficher avec echo ?

Merci d'avance.


manthoR
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 225
Inscription: Lun Mar 13, 2006 23:12

Message le Sam Jan 19, 2008 2:19

fopen de la première, puis parsing pour trouver l'url ?


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Sam Jan 19, 2008 10:22

rien compris

pillets
WRInaute impliqué
WRInaute impliqué
 
Messages: 370
Inscription: Ven Jan 13, 2006 17:51

Message le Sam Jan 19, 2008 11:30

manthoR a écrit:fopen de la première, puis parsing pour trouver l'url ?


fopen j'y arrive mais c'est après que je vois pas trop comment faire (je suis débutant php)

KOogar a écrit:rien compris


Rien compris ce que manthoR à dit ou à ce que j'ai dit ?


manthoR
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 225
Inscription: Lun Mar 13, 2006 23:12

Message le Sam Jan 19, 2008 14:32

ben une fois que t'as fait le open tu explore le contenu pour trouver l'url :

Exemple ici :
http://www.graphiks.net/cours/php/20-le ... place.html

à la place du titre /titre recherche l'endroit ou est écrite l'url de redirection


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Sam Jan 19, 2008 14:37

Dans le genre j'avais fait celui la :
http://www.phpsources.org/scripts303-PHP.htm

Mais ca me parait tordu d'aller chercher une url sur son propre site avec un fopen, j'aimerai bien comprendre ce que tu essayes de faire pillets


manthoR
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 225
Inscription: Lun Mar 13, 2006 23:12

Message le Sam Jan 19, 2008 14:44

m'est avis que c'est pas son propre site :wink:

pillets
WRInaute impliqué
WRInaute impliqué
 
Messages: 370
Inscription: Ven Jan 13, 2006 17:51

Message le Sam Jan 19, 2008 18:07

KOogar a écrit:Dans le genre j'avais fait celui la :
http://www.phpsources.org/scripts303-PHP.htm

Mais ca me parait tordu d'aller chercher une url sur son propre site avec un fopen, j'aimerai bien comprendre ce que tu essayes de faire pillets


En effet comme le dit manthoR ce n'est pas mon propre site. J'ai vu ton script mais ce n'est pas exactement cela que je cherchais. Trouver des urls dans un texte, je sais le faire mais trouver l'url du fichier en question c'est un peu plus compliquer quand le fichier se trouve sur un serveur distant.

manthoR a écrit:ben une fois que t'as fait le open tu explore le contenu pour trouver l'url :

Exemple ici :
http://www.graphiks.net/cours/php/20-le ... place.html

à la place du titre /titre recherche l'endroit ou est écrite l'url de redirection


Le problème c'est que ce ne sera pas simplement des fichiers html mais parfois d'autres fichiers à télécharger genre .zip .exe etc...

Donc je souhaite savoir comment est-ce possible en php de connaitre l'url de destination sans avoir besoin d'ouvrir (ou sans ouvrir complètement) le fichier car si par exemple c'est un fichier .zip qui fait plusieurs megas, je risque d'attendre longtemps.

par exemple lorsque je tape l'adresse http://www.example.com/redirect.php?id=12345 si c'est un fichier téléchargeable la boite de dialogue s'ouvre et affiche

Image

J'aimerais pouvoir donc récuperer serveur1.example.com et l'afficher avec echo.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Sam Jan 19, 2008 18:35

ok

je comprend nettement mieux, donc un fopen sur le fichier et download les 300 premiers carateres et ca devrait suffir. ensuite test ta chaine:

Code: Tout sélectionner
<?php

$tags = array("<html>","<head>","<div>","<h1>","<table>");
while ($j<sizeof($tags)) {
$pattern = "#<(.*?)>#ie";
if (preg_match("$pattern", $ta_chaine_de_300_carateres, $retour)) {
echo $retour[0];
}
$j++;
}
?>



Si aucun tag n'est trouvé, ca doit pas être une page web ;)

pillets
WRInaute impliqué
WRInaute impliqué
 
Messages: 370
Inscription: Ven Jan 13, 2006 17:51

Message le Dim Jan 20, 2008 3:46

KOogar a écrit:ok

je comprend nettement mieux, donc un fopen sur le fichier et download les 300 premiers carateres et ca devrait suffir. ensuite test ta chaine:

Code: Tout sélectionner
<?php

$tags = array("<html>","<head>","<div>","<h1>","<table>");
while ($j<sizeof($tags)) {
$pattern = "#<(.*?)>#ie";
if (preg_match("$pattern", $ta_chaine_de_300_carateres, $retour)) {
echo $retour[0];
}
$j++;
}
?>



Si aucun tag n'est trouvé, ca doit pas être une page web ;)


Si je fais un fopen du fichier, ça ouvre directement le fichier ( un zip par exemple) , et ça m'affiche le début du contenu du fichier zip, donc des caractères incompréhensibles.

Mais en cherchant sur php.net j'ai trouvé un exemple de ce que je cherchais :

Code: Tout sélectionner
<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

/* Avant PHP 4.3.0 utilisez $http_response_header
   au lieu de stream_get_meta_data() */
$meta_data = stream_get_meta_data($fp);
foreach($meta_data['wrapper_data'] as $response) {

  /* Redirections? */
  if (substr(strtolower($response), 0, 10) == 'location: ') {
    /* modification de $url avec la nouvelle URL */
    $url = substr($response, 18);
  }

}

?>


Merci à vous


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Dim Jan 20, 2008 4:26

>> Si je fais un fopen du fichier, ça ouvre directement le fichier ( un zip par exemple) , et ça m'affiche le début du contenu du fichier zip, donc des caractères incompréhensibles.

c'etait le but de mon ptit bout de code de détecter si le fichier est zip ou non, mais c'est pas grave puisque tu as trouvé ton bonheur en passant pas la lecture des en-têtes. :wink:

Bon Dimanche !

pillets
WRInaute impliqué
WRInaute impliqué
 
Messages: 370
Inscription: Ven Jan 13, 2006 17:51

Message le Dim Jan 20, 2008 11:30

KOogar a écrit:>> Si je fais un fopen du fichier, ça ouvre directement le fichier ( un zip par exemple) , et ça m'affiche le début du contenu du fichier zip, donc des caractères incompréhensibles.

c'etait le but de mon ptit bout de code de détecter si le fichier est zip ou non, mais c'est pas grave puisque tu as trouvé ton bonheur en passant pas la lecture des en-têtes. :wink:

Bon Dimanche !


Merci bon Dimanche à toi aussi.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Dim Jan 20, 2008 11:58

en cherchant autre chose, j'ai trouvé un tuto sur cURL qui devrait t'interresser.
http://devzone.zend.com/article/1081-Us ... l-with-PHP

++

pillets
WRInaute impliqué
WRInaute impliqué
 
Messages: 370
Inscription: Ven Jan 13, 2006 17:51

Message le Lun Jan 21, 2008 0:27

KOogar a écrit:en cherchant autre chose, j'ai trouvé un tuto sur cURL qui devrait t'interresser.
http://devzone.zend.com/article/1081-Us ... l-with-PHP

++


Tres intéressant en effet, merci beaucoup pour le lien.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités