Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/05/2008, 13h31   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 75
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 75
Points : 13
Points : 13
Par défaut Récupérer le contenu d'une page qui contient des erreurs

Bonjour, à tous

Voilà mon petit souci, j'ai sur un site internet un script qui me permet de récupérer des partie de page internet, habituellement tout marche très bien, mais la je me retrouve un peu coincé.

Je dois récupérer le code de page sur un site et les pages sont de ce type

http://www.fininfo.fr/fininfong/GetD...=0&date=080507

Le souci de ces pages est que tous les caractére spéciaux ne sont pas traduits donc lorsque j'importe le code de ces pages, il interprète tous les caractères spéciaux comme un point d'interrogation sur l’explorer et dans le code.

La fonction que j'utilise pour récupérer le code de ma page est la suivante


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?
 
 
function recup_code($url){
        $file = fopen($url,"rb");
 
        if(!$url){
			exit("Impossible d'ouvrir le fichier");
		}
		$line ="";
        while(!feof($file)){
			$line .= fread($file, 8192);
 
		}
		$line = addcslashes($line,"'");
		fclose($file);
        return $line;
	}
?>
 
 
<?
 
 
 
$url="http://www.fininfo.fr/fininfong/GetDerniereNews.event?lg=fr&urlAction=GetDerniereNews.event%3Flg%3Dfr&idnews=BNW080507_00005673&numligne=0&date=080507";
 
 
$html = recup_code($url);
 
echo $html;
 
?>
j'ai pensé que sa pouvait peu être venir de fread qui du coup n'arrive pas à lire les caractère spéciaux non traduit, et les traduit à la place par un point d'interrogation.

j'ai tenté avec file_get_content, mais j'obtiens exactement le même résultat

Ce que je comprends le moins c'est que ce genre de fonction est censé récupérer le code d'une page à l'identique, même avec ces erreurs, à la limite sa ne me dérangerai pas qu’il me les récupères avec les erreurs je pourrais faire un remplacement de caractère.

Je vous remercie d'avance de vos futures réponses
mrsoyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2008, 13h46   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 835
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 835
Points : 3 468
Points : 3 468
Citation:
Envoyé par mrsoyer Voir le message
Le souci de ces pages est que tous les caractére spéciaux ne sont pas traduits donc lorsque j'importe le code de ces pages, il interprète tous les caractères spéciaux comme un point d'interrogation sur l’explorer et dans le code.
Sûrement une divergence de charsets entre le site en question et le tien.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2008, 13h57   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 75
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 75
Points : 13
Points : 13
je pence oui sa doit être sa, mais comment je peu faire,

c'est vraiment bisare, je sais pas si tu as regarder le code source de la page que je met en exemple, mais tout le site (le header, le menu etc) est bien fait les caractère spéciaux sont traduit, mais c'est au centre, la ou justement ou il y a les informations que je veux récupérer ou les caractères spéciaux ne sont pas traduit.

Sur l'explorer par exemple un "é" est "é" dans le code source.

sa ne pose aucun souci pour l'affichage, mais sa me pose un souci pour récupérer le code, l'on dirai qu'il ne veut pas récupérer les caractères spéciaux non traduit, qu'il ne les comprend pas.

Es qu'il y aurait une solution pour pouvoir traduire ces fameux caractères spéciaux avant de récupérer le code avec fread ou alors il y a t'il une autre fonction que fread, ou bien une autre fonction que fopen ????
mrsoyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2008, 14h05   #4
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 835
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 835
Points : 3 468
Points : 3 468
J'ai fait un simple echo file_get_contents('http://...') et la page s'affiche correctement (cap plus bas).
Mon serveur envoie du ISO-8859-1. Et le tien ?

__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2008, 14h14   #5
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 75
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 75
Points : 13
Points : 13
A oui, alors sa c'est complètement fou, je viens de retester avec file_get_content et non, j'ai toujours le même problème.

Mon serveur est mamp et envoi bien du ISO-8859-1 peu être est ce dut au fait que je travaille sur mac.

Je vais tester sur mon serveur web, peu être que sa marchera, sa serai bien coul.

Merci tout de même.
mrsoyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2008, 14h22   #6
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 75
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 75
Points : 13
Points : 13
je sais que mac n'est généralement pas trop aimé pour le développement.
Mais je n'ai jamais eu de souci, mis a part avec les css.

Je travaille sur mac car je suis graphiste et je trouve sa plus agréable que pc, je bidouille seulement en web.

Je ne peu pas tester tout de suite avec mon serveur web, mais si cela viens de sa désolé d'avoir posté ces messages sans avoir essayé avant.

Merci
mrsoyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2008, 16h09   #7
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 835
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 835
Points : 3 468
Points : 3 468
Essaie ce script simple :

Code :
1
2
header('Content-Type: text/plain') ;
echo file_get_contents('http://...') ;
... ça suffira peut-être.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h50.


 
 
 
 
Partenaires

Hébergement Web