Redirection "invisible" PHP - Images.

Petit nouveau ! | 3 Messages

13 avr. 2009, 12:08

Bonjour,

J'ai fais un petit script PHP permettant de faire des redirections de type "invisibles".
Malheureusement, celui-ci n'affiche pas les images.
<?php 
ini_set('user_agent','Mozilla: (compatible; Windows XP)');
 
$url = "http://microsoft.com";
$fd = fopen ($url, "rb"); 

while (!feof ($fd)) {   
 $data = fgets($fd, 4096);    
 echo $data;  
} 

fclose ($fd);
?> 
Pourriez vous m'aider ?

Cordialement, NightMare.LmW :arrow:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 avr. 2009, 12:45

C'est pas de la redirection, c'est de l'inclusion dans ta page, d'éléments externes à ton site...

Du coup si les adresses des images ou des liens de la page dont tu récupères la source sont spécifié en relatifs, tu déplaces le point de départ de ces chemins de leur site au tien, du coup tous les chemins sont faux.

Il te faut soit changer les chemins relatifs à la volée pour restaurer le domaine d'origine afin qu'ils pointent dessus ou reconstituer l'arborescence des images sur ton site pour que les chemins relatifs puissent être trouvés chez toi également...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 3 Messages

13 avr. 2009, 12:50

Oui effectivement.

Il y a une solution pour faire une redirection du genre :


http://www.monnomdedomaine.fr/

vers

http://mywebsite1.free.fr/

Tout en gardant l'URL : http://www.monnomdedomaine.fr/ ?

Merci.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 avr. 2009, 13:31

La plus simple (mais à éviter absolument si tu as besoin de référencement pour ton site) c'est une frame, qui va garder en permanence l'url affichée dans le navigateur, et qui ouvrira un autre site.

L'autre solution, bah c'est la tienne... tu récupères le contenu de la page à afficher et tu l'insert dans la tienne en changeant les chemins devant être changés.

Pour ce qui est des images, tu dois pouvoir le faire simplement en ajoutant la balise <base> qui pointera sur l'autre site. Par contre ça fonctionnera aussi pour les liens si tu ne les remplaces pas, et du coup un clique dessus ouvrira directement l'autre site (et non pas la page souhaitée dans ton site). Mais tu peux aussi détecter les href dans le code que tu récupères et les transformer, avec une expression régulière :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 1339 Messages

13 avr. 2009, 14:47

La frame à ces avantages et ces désaventages ...
Pour le coup la frame ses désaventages deviennent tes avantages :)
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Petit nouveau ! | 3 Messages

13 avr. 2009, 15:12

Merci beaucoup ! J'ai reussi avec les frames ! :)