File-get-contents sur un site externe.

Répondre
raphlight
le 13/12/2008 à 18:08
raphlight
youhou, mon premier message d'erreur cURL !!

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in


Je vais me renseigner sur ce problème, je sais absolument pas ce que ca veut dire ^^
http://raphlight.free.fr/trad.php
raphlight
le 13/12/2008 à 18:25
raphlight
Quand je fais un phpinfo, ca me dis que le safe_mode est activé... d'ou certainement l'erreur ci-dessus...

Je fais par exemple une requête pour prélever le contenu de la première balise h1 de l'index du phpfacile, voilà le résultat en direct :
http://raphlight.free.fr/curl/

Ca marche...mais y'a le message d'erreur.
http://raphlight.free.fr/trad.php
LA GLOBULE
le 13/12/2008 à 20:41
LA GLOBULE
L'erreur dit que tu ne peux pas utiliser l'option followlocation car le safe_mode est activé.

Il te suffit donc de mettre en commentaire la ligne avec le followlocation de mon code.

(cette option permet en fait de "suivre" l'URL en cas de redirection 302)
raphlight
le 14/12/2008 à 00:42
raphlight
Ah c'est donc ca...

Mais alors le fait d'utiliser curl comme file-get-content c'est considéré comme une redirection 302 ??
http://raphlight.free.fr/trad.php
raphlight
le 14/12/2008 à 01:00
raphlight
Bon bé ca marche impecc' sinon :D

Merci beaucoup la globule :D
http://raphlight.free.fr/trad.php
raphlight
le 14/12/2008 à 02:07
raphlight
Hum...un petit détail cependant...mon script pour récupérer du code entre 2 balises fonctionne mais uniquement pour les balises simples.

Après si y'a une balise avec des guillemets comme par exemple des div, ca ne marche plus... (cliquer ici pour aperçu du problème)

Rien ne s'affiche...Un problème de slashs, anti-slashs ? J'ai pourtant bien fais gaffe aux guillemets, je comprends pas Oo...
http://raphlight.free.fr/trad.php
LA GLOBULE
le 14/12/2008 à 19:00
LA GLOBULE
Mais alors le fait d'utiliser curl comme file-get-content c'est considéré comme une redirection 302 ??


Non. Cette ligne permet juste de suivre une redirection 302 si jamais le site sur lequel tu curl fait une redirection 302.

Pour ton expression régulière, teste ce code :

<?php
preg_match('`<div class="online">(.*)</div>`Uis', $page, $matche);
?>
raphlight
le 14/12/2008 à 19:51
raphlight
Ok ;)

Hum...j'ai uploadé le fichier curl.php en remplaçant le code au niveau du preg_match. Ca ne marche pas plus avec ces apostrophes bizarres... :(
http://raphlight.free.fr/trad.php
Koboneil
le 14/12/2008 à 22:36
Koboneil
Et en mettant l'expression régulière "ungreedy" :

<?php
preg_match('`<div class="online">(.*?)</div>`Uis', $page, $match);
?>
Koboneil
raphlight
le 15/12/2008 à 22:30
raphlight
Ah...merci :D

Y'a du changement maintenant grâce à ce petit point d'interrogation...y'a quelquechose qui s'affche !

Mais comme vous pouvez le voir, il ne prend pas du tout la bonne balise div de fin...une idée pour corriger ce problème ? Oo
http://raphlight.free.fr/trad.php
Répondre
LoadingChargement en cours