Fichier proxy.php

Dans notre « Guide complet AJAX« , nous proposons un proxy virtuel en ASP permettant de « faire croire » que les données viennent du serveur qui heberge les sources JS alors qu’elles viennent d’internet. Plus qu’un proxy, c’est juste un miroir…

Des lecteurs m’ont demandé à plusieurs reprises l’equivalent en PHP, voila le code :

L’url suivante le montre en action : http://brico-info.com/proxy.php?url=http://www.google.fr (les images ne sont pas visibles justement parce qu’elles sont en url relative)

Le parametre « nature » permet de renforcer l’entete du content-type, son utilisation est optionnelle.

  1. $_url = $_GET[‘url’];
  2. $_nature = $_GET[‘nature’];
  3.  
  4. $handle = fopen($_url, « rb »);
  5. $contents =  »;
  6. while (!feof($handle)) {
  7.     $contents .= fread($handle, 8192);
  8. }
  9.  
  10. //gestion des entetes
  11. if ($_nature==‘XML’)
  12.         header(« Content-type: text/xml »);
  13. elseif ($_nature==‘HTML’)
  14.         header(« Content-type: text/html »);
  15.  
  16. //on affiche la page
  17. print_r($contents);
  18.  
  19. fclose($handle);
  20. ?>

Dans la même catégorie :

3 commentaires

  1. Tu as écrit, je cite:"Commençons super simple, mais il faut bien commencer par quelquechose !"… Heureusement que tu n’as pas commencé d’emblée avec qqch de compliqué! Personnellement, je n’ai rien compris…Que faut-il que je fasse?
    A. Je pleure
    B. J’achète l’intégrale de "l’ordinateur pour les vraiment très nuls"
    C. J’abandonne et je ferme mon ordi

  2. Suite à votre explication sur la recherche « Accent insensitive » sur Access
    SELECT * from table WHERE champ4 like ‘%r[eéèêë][uúùûü][nñ][iìíîï][oóòôö]n%‘
    Et votre résultat avec une recherché sur « réunion commerciale » j’aimerai savoir ou vous placez l’argument de recherche pour mixer la recherche insensitive avec une variable représentant la recherche à effectuer.
    Merci de votre réponse.
    ACN

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *