Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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/02/2008, 23h20   #1
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 1
Points : 1
Par défaut [FTP] Vérifier la valeur d'émission de shoutcast

Bonjour à tous,
Je voudrais à l'aide d'un script vérifier la qualité de diffusion d'un serveur shoutcast.
On peut récupérer la valeur d'émission dans le fichier:
http://ip: port/admin.cgi?mode=viewxml

Pour cela j'ai imaginé un code:

Code :
1
2
3
4
5
6
7
8
$filename="verif.xml";
$test=fopen("ip :port/admin.cgi?pass=test&mode=viewxml");
$file = fopen($filename,'w');
if(fwrite($file,$test)) {
//si le fichier est crée, on est content
$message = "Le Xml a été crée!";
 
}
Mais le problème c'est que le script me crée le fichier, mais il ne me met rien dedans.Est ce que quelqu'un peut m'aider s'il vous plait?

Merci d'avance
v3rsus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2008, 01h25   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Il faut lire le fichier distant au lieu d'écrire son "descripteur" dans votre nouveau fichier
Code :
1
2
3
4
5
6
$content = file_get_contents('http://91.121.107.81:8017/admin.cgi?pass=test&mode=viewxml');
if ($content === FALSE) {
    die('Erreur');
} else {
    file_put_contents('verif.xml', $content);
}
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2008, 09h43   #3
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 1
Points : 1
Il me met ça:

Code :
1
2
3
4
 
 
Warning: file_get_contents(http://ip :port/admin.cgi?pass=bordeltest&mode=viewxml) [function.file-get-contents]: failed to open stream: HTTP request failed! ICY 404 Resource Not Found in /var/www/ad/test.php on line 2
Erreur
v3rsus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2008, 01h07   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
J'obtenais moi aussi le même résultat (erreur 404). Par contre, ne vous manquait-il pas les login/mot de passe pour passer l'authentification HTTP ? (bien que si c'était le cas, on devrait normalement obtenir l'erreur 401).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2008, 09h35   #5
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 1
Points : 1
J'ai bien mis le pass du serveur.Il faut peut être mettre le login non?(admin)
v3rsus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2008, 11h24   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Les paramètres d'authentification HTTP sont à placer dans les entêtes (requiert une version 5 de PHP pour redéfinir le contexte lorsque l'on utilise la fonctionnalité allow_url_fopen) ou bien directement au début de l'URL, tel que :
Code :
http://login:motdepasse@serveur:port/chemin/éventuel?param1=valeur1&param2=valeur2
Cette dernière forme étant parfaitement gérée par PHP (allow_url_fopen). Ce n'est pas dans la partie Query String de l'URL qu'il faut en faire mention.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2008, 15h19   #7
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 1
Points : 1
Donc si j'ai bien compris, il faut que j'utilise:
Code :
1
2
 
file_get_contents(http://admin:test@serveur:port/admin.cgi?mode=viewxml);
v3rsus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2008, 15h24   #8
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Oui, ça me paraît plus correct.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 17h25   #9
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 1
Points : 1
J'ai éssayé mais sa ne marche pas.
Je crois savoir pourquoi, car quand on lance le lien dans un navigateur, il nous demande:'etes vous bien sur de vous connecter sur http//lien avec admin et pass?

Et on doit donner notre reponse en cliquant sur le bouton (alert java).

Donc sa doit etre pour sa non?
Si ça vien de se problème, comment je peux le régler?

Merci
v3rsus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 19h00   #10
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
C'est le fruit de la gestion d'une URL requérant une authentification par le (un ) navigateur. Ça ne vous empêche en rien d'y accéder directement avec d'autres clients (notamment ceux de type console).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 20h02   #11
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 1
Points : 1
Bah alors comment sa se fait que sa marche toujours pas?
Car les données sont bonnes.

Je dois utiliser la fonction allow_url_fopen?
Car j'ai essayé, mais il me met :
Fatal error: Call to undefined function allow_url_fopen() in /var/www/ad/test.php on line 2
v3rsus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 00h08   #12
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
allow_url_fopen n'est pas une fonction PHP mais un paramètre de configuration de PHP qui donne la possibilité, ou non, d'utiliser des URL pour un certain nombre de protocoles lorsqu'il s'agit d'utiliser des fichiers (de base HTTP / FTP et suivant les cas). C'est ce qui vous permet par exemple d'aller lire un fichier distant (aussi bien avec fopen qu'avec une extension comme SimpleXML), d'en écrire un directement sur un serveur de fichiers, etc

Je ne suis pas en mesure de vous en dire plus que ce que j'ai déjà apporté.
julp 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 07h42.


 
 
 
 
Partenaires

Hébergement Web