Petit ours a besoin d'un peu de miel en PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Petit ours a besoin d'un peu de miel en PHP

Re: Petit ours a besoin d'un peu de miel en PHP

par Petit ours » 22 juil. 2011, 21:56

:D Bonjour moogli et merci beaucoup pour toutes ces explications ! =D>
Je me demandais justement pour la boucle si je mettais avant ou aprés, tu as devancé ma question :D
J'ai regardé curl mais je n'y ai pas compris grand chose (a priori, il faudrait que j'installe le module curl), ca complique un peu les choses.
J'imagine que tu m'as orienté dessus parceque ce serait le plus adapté pour moi mais j'ai besoin de simplicité (j'ai moins de neurones que la normale :wink: ) alors j'ai essayé l'envoi de ma requette url avec file_get_contents
et ca marche ! :D

J'ai pas encore testé le code en entier mais partie par partie, ca fonctionne, je verrouillerais le sujet quand j'aurais pu tester l'ensemble (tableaux+selection aléatoire+envoi url) je pense, en tout cas =D>

Re: Petit ours a besoin d'un peu de miel en PHP

par moogli » 22 juil. 2011, 12:27

oui il faut boucler quelque part si tu met tous dans des tableaux.

si tu souhaite que la chose soit évolutive il faut que tu mette les adresses (ou juste le nom) des lecteurs dans un tableau, tu boucle sur le tableau (foreach). dans la boucle, tu choisis un titre aléatoire (si différent pour chaque sinon tu le fait avant la boucle)

avec l'exemple que tu a donné il faut utiliser la concaténation pour créer la bonne chaine de caractère
<?php
$fichiermp3 = 'JamesBrown01.mp3'; // ça c'est le titre pris au pif dans le tableau des titres
$lecteur = 'mp3depetitours'; // le nom du lecteur, si tu en a plusieurs, un tableau avec tous les noms dedans :) et tu boucle dessus
$url = 'http://mp3.byethost32.com/lecteurnetmp3/api.php?lecteur1&play=http://mp3.médiafire.com/'.$lecteur.'/'.$fichiermp3;
?>
a tu regardé l'extension curl ?

@+

Re: Petit ours a besoin d'un peu de miel en PHP

par Petit ours » 19 juil. 2011, 23:57

Euh, oui mais avec un mp3 différent (ordre aléatoire) a chaque fois que je lance ce script php et surtout je ne vois pas comment/quelle commande mettre pour qu'une fois l'adresse crée elle soit envoyée (comme si je l'avais tapé dans ma barre d'adresse)

Je ne sais pas si je suis clair, en tout cas, ca qui est clair pour moi, c'est que je n'y comprends pas grand chose a tout ca :( désolé !

Tu parles de 4 adresses différentes, tu veux dire que je dois repeter l'adresse 4 fois...en fait il faut que je refasse l'adresse avec un array[0] une autre avec un array[1] etc... :)

Re: Petit ours a besoin d'un peu de miel en PHP

par moogli » 19 juil. 2011, 01:54

ok,

donc l'idée est toujours la même avec 4 "requêtes" url :)

@+

Re: Petit ours a besoin d'un peu de miel en PHP

par Petit ours » 18 juil. 2011, 23:12

Re-bonjour moogli :-)
Oui tu as raison pour le titre :( merci de me le signaler :) J'ai un moyen de le modifier ?

En fait il faut que se crée cette URL qui inclut mes deux variables $mp3 (le mp3 pris au hasard) et $lecteur (mes 4lecteurs physiques dans le salon) et que cette URL soit envoyée sur mon serveur byethost qui a une API qui gére le reste (aprés je sais pas comment ca marche....)

Si je tape en manuel dans ma barre d'adresse "http://mp3.byethost32.com/lecteurnetmp3 ... rown01.mp3" ,ca me lit le titre JamesBrown01 sur mon lecteur physique.

Merci pour la rapidité ! :D

Re: Petit ours a besoin d'un peu de miel en PHP

par moogli » 18 juil. 2011, 16:31

salut,

ton titre n'est pas très clair, et ne permet pas de cibler ton soucis, c'est un problème pour ceux qui cherche des sujet identique au tiens, et pour ceux qui peuvent aider et cible leur aide :)

sinon pour t'aider :

$mp3= array("http://1.mp3", "http://2.mp3", "http://3.mp3", "http://4.mp3"); // ok, tu peux obtenir la même chose avec la fonction glob pour peu que tu puisse lire sur le disque où ce trouve tes fichiers)
pour prendre un seul fichier dans le tableau tu peux utiliser array_rand et prendre le 1er fichier).
tu peux prendre un index au pf comme tu le fait avec rand, mais plutot ainsi : $pif = rand(0, count($mp3)-1); histoire de ne pas être limité par la taille du tableau :)

idem pour le choix du lecteur.

ensuite je n'ai pas trop bien compris ton problème d'url. tu peux commencer le lecteur via l'url ?
par exemple : http://mp3.byethost32.com/lecteurnetmp3 ... &play=$mp3 commande le lecteur situé a l'adresse mp3.byethost32.com, avec le fichier indiqué par $mp3 ?

si oui, il te faut indiquer soit l'ip, soit le nom du lecteur (http://192.168.1.45/... ou http://lecteurdusalon/...)

pour ce qui est de l'utilisation je te conseil de regarder le fonctionnement de curl qui, je pense, est adapté ace que tu souhaite faire ;)

@+

Petit ours a besoin d'un peu de miel en PHP

par Petit ours » 18 juil. 2011, 16:10

Bonjour a tous,
C'est mon premier post ici (et sûrement pas le dernier :-) ) donc, je me présente :
Je suis Petit ours, je suis totalement débutant en PHP ou autres languages même si lorsque j'étais petit, je "codais" en basic 1.0 sur mon Amstrad CPC464 (a l'époque des dinosaures comme disent mes petits cousins :lol: ). Je me suis décidé a m'inscrire car ca fait quelques jours que je cherche des infos sur le net mais ne trouve rien qui corresponde totalement a mon besoin. J'espére pouvoir grandir un peu avec vous et apporter de l'eau au moulin a mon tour, lorsque j'en serais capable.

Voici donc, ce qui m'améne ici :
Je dispose a la maison de 4 lecteurs mp3/internet qui vont lire les mp3 dans un dossier stocké sur un serveur (médiafire) quand je leur demande. Je voudrais que le déclenchement de ces lectures se fassent tout seuls sur tous mes lecteurs en même temps (ou temps proche)
Voici plus précisément ce que je cherche : J'ai sur mon serveur 10 mp3, je veux que un mp3 soit pris au hasard et distribué a mes 4 lecteurs.
Voici ce que j'ai codé aprés avoir passé quelques heures de recherche sur le net :

<?php
/choisir un mp3 au hasard

$mp3= array("http://1.mp3", "http://2.mp3", "http://3.mp3", "http://4.mp3");
$mp3uni[rand(0,3)];(echo$mp3uni)

/choisir les lecteurs qui vont lire le mp3 (tous dans un premier temps mais modifiable au cas ou)

$lecteur= array("lecteur1", "lecteur2", "lecteur3", "lecteur4", "lecteur5", "lecteur6",
"lecteur7", "lecteur8", "lecteur9", "lecteur10"

/envoyer la requete de lecture du mp3 choisi aux lecteurs

"http://mp3.byethost32.com/lecteurnetmp3 ... &play=$mp3"

?>
Si vous voulez bien corriger/me dire ou sont mes erreurs...mon principal probléme étant que je ne trouve pas la commande pour créer cette url pour déclencher l'action sur mes lecteurs

J'ai vu "urlize", est-ce adapté ?

Merci a vous en tout cas pour votre aide ! :priere:

Petit ours.