Signature dynamique

Signature dynamique - PHP - Programmation

Marsh Posté le 18-09-2010 à 21:42:30    

Bonjour je viens vers vous pour demander un petit peu d'aide...Je voudrai creer une signature dynamique pour mon forum et apres de nombreuse recherche je dois dire que je suis un peu perdu...
Ceux que je veux faire ressemble a la signature que j'ai sur ce forum, donc c'est une image qui reprends les informations de mon profil de joueur et qui change les infos presque en temps réelle...
Pour la fabrication de l'image et du contenu fixe qui sera afficher il n'y a pas trop de probleme mais comment prendre les infos a la source et les afficher ensuite dessus?
Voici la page ou je veux prendre mes infos  http://217.113.36.18/blackshot/use [...] ?cid=28433
Pourriez vous s'il vous plait m'aider pour le code php qui me permettra de récuperer ce que je veux et comment afficher au moins 1 élément sur mon image, les kills par exemple..
Je sais qu'il y a la fonction "explode" mais c'est a peu pret tout, alors merci d'avance..a bientot.

Reply

Marsh Posté le 18-09-2010 à 21:42:30   

Reply

Marsh Posté le 19-09-2010 à 14:53:18    

la procédure que j'utiliserais est la suivante :
1- prendre l'image vierge de ta signature et la stocker dans un fichier image,
2- récupérer les informations sur le site web en question, voir du coté de lib CURL la fonction file_get_contents devrait suffir
3- recréer l'image à l'aide de la lib GB.
 
voila, mon tout dépend de ton niveau en programmation...
 
Edit : correction


Message édité par stef_dobermann le 19-09-2010 à 22:43:33

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 19-09-2010 à 17:41:42    

Salut merci pour ta reponse, le procédé general je le connais mais ou je bloque c'est le code php pour recuperer les infos et les afficher ensuite sur mon image..

Reply

Marsh Posté le 19-09-2010 à 22:41:08    

en faite ce qu'il te faut c'est le script !!
Edit :  
 
Je veux bien de donner un coup de main, mais pas tout faire ce n'est pas le but du forum ;)
pour info : http://www.php.net/manual/fr/function.file-get-contents.php
les exemples parle d'eux-même


Message édité par stef_dobermann le 19-09-2010 à 22:47:47

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 20-09-2010 à 09:26:56    

les pièces du puzzle dans l'ordre:
 
file_get_contents()
preg_match()
imagecreatefrompng()
imagettftext()
imagepng()
 
toi et la doc devriez pouvoir faire le reste

Reply

Marsh Posté le 20-09-2010 à 09:57:05    

Salut ok merci pour tes conseil, mais on m'avait parler de la fonction "explode" est ce bon ou pas?

Reply

Marsh Posté le 20-09-2010 à 10:15:34    

dans l'absolu  "explode"  est fait pour séparer une chaine de caractère suivant un motif, "preg_match()" te permettra de le faire mais directement sur la page ou tu va prendre les infos.


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 20-09-2010 à 22:21:44    

Ok merci je dois dire que je fais beaucoup de recherche et que je demande aussi un peu a droite ou a gauche et je me retrouve noyé d'informations, donc a la fin je sais plus trop ou taper...mais je vais suivre se que tu me dis car tu as l'air de savoir de quoi tu parles..puis si jamais je bloque quelque part je repasserai demander conseil..encore merci byby

Reply

Marsh Posté le 20-09-2010 à 22:33:00    

aucun problème, on est là :)
 
Edit : j'ai fait un script qui récupère des informations sur des pages, si je le retrouve, je le poste.


Message édité par stef_dobermann le 20-09-2010 à 22:34:38

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 21-09-2010 à 09:35:42    

C'est gentil merci..!

Reply

Marsh Posté le 21-09-2010 à 09:35:42   

Reply

Marsh Posté le 22-09-2010 à 15:22:37    

l'idée est la:

Citation :

$v = "http://www.tonsite.com/tapage.php";
$page = file_get_contents(addslashes(trim($v)));
$post = $bdd->extrait_post($page);


 

Citation :

   function extrait_post($page) {
//il te suffit de modifier le pattern pour qu'il corresponde à ce que tu veux récupérer
        preg_match( "/<div class=\"storycontent\">(.*)<\/div>/Uis", $page, $regs );
        return $regs[1];
    }


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 22-09-2010 à 18:13:12    

pour parser du DOM c'est DOMDocument

 
Code :
  1. $doc = new DOMDocument();
  2. $doc->load('http://217.113.36.18/blackshot/userinfo/battleinfo.asp?cid=28433');
  3.    
  4. $xpath = new DOMXpath($doc);
  5.    
  6. $name = $xpath->query('//*[@id="char_name"]')->item(0);
  7. $kill = $xpath->query('//*[@id="tr_killcount"]')->item(0);    
  8.    
  9. var_dump($name->nodeValue, $kill->nodeValue);
  10.  
  11. //string(6) "ToXNyO"
  12. //string(4) "2964"


Message édité par stealth35 le 22-09-2010 à 18:13:50
Reply

Marsh Posté le 23-09-2010 à 00:21:51    

Super les gars un grand merci a vous, vous êtes des chefs!!
Je vais continuer tout ca et comme dis plus haut je reviendrai si j'ai quelques questions, ensuite quant tout mon script sera fini je peux éventuellement le mettre a la suite pour le faire partager...?

Reply

Marsh Posté le 23-09-2010 à 20:56:23    

tiens, je ne connaissais pas DOMDocument, merci à toi stealth35, je vais regarder ça de plus prés.
En même temps le bout script que j'ai afficher a été fait il y a bien 4 ans ...


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 23-09-2010 à 22:29:36    

Si je comprends bien c'est mieux que je me serve du code de stealth35?  
Et en faite la il m'a fait le code entier pour récupérer mon nom et le nombre de kills?? je le remercie d'ailleurs car c'est la meilleur base que l'on m'ait donné pour commencer..;

Reply

Marsh Posté le 23-09-2010 à 23:16:36    

c'est exactement ça !


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 07-10-2010 à 21:21:21    

Bonjour je reviens sur ma signature dynamique car j'ai eu peu de temps dernierement...J'ai fais un code et j'aimerai que vous me disiez ou je me suis trompé s'il vous plait car j'ai pas rajouté grand chose mais ca ne marche pas...Je vous en remercie par avance...cordialement!
 
<?php
header ("Content-type: image/png" );
$image = imagecreatefrompng("a7.png" );
 
$doc = new DOMDocument();
$doc->load('http://217.113.36.18/blackshot/userinfo/battleinfo.asp?cid=28433');
       
$xpath = new DOMXpath($doc);
 
$name = $xpath->query('//*[@id="char_name"]')->item(0);
$kill = $xpath->query('//*[@id="tr_killcount"]')->item(0);
     
var_dump($name->nodeValue, $kill->nodeValue);
 
//string(6) "ToXNyO"
//string(4) "2964"
 
$blanc = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 5, 35, 15, $name, $blanc);
imagestring($image, 5, 90, 20, $kill, $blanc);
 
imagepng($image);
?>

Reply

Marsh Posté le 07-10-2010 à 21:58:10    

c'est quoi l'erreur ?


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 07-10-2010 à 22:11:32    

Et bien je ne sais pas justement? y'en a pas? et sinon que faire de //string(6)etc et de l'autre en dessous dois-je m'en servir?

Reply

Marsh Posté le 07-10-2010 à 22:28:23    

met en commentaire la ligne

Code :
  1. var_dump($name->nodeValue, $kill->nodeValue);


 
ça doit venir de là...
 
il ne faut qu'une donnée ne soit envoyé au navigateur avant un imagepng($image);


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 07-10-2010 à 22:48:07    

Excuse moi mais ou exactement ? car il y a deja cette ligne...

Reply

Marsh Posté le 08-10-2010 à 09:30:26    

c'est l'objectif, mettre une ligne existante en commentaire.

Code :
  1. <?php
  2. header ("Content-type: image/png" );
  3. $image = imagecreatefrompng("a7.png" );
  4. $doc = new DOMDocument();
  5. $doc->load('http://217.113.36.18/blackshot/userinfo/battleinfo.asp?cid=28433');
  6.      
  7. $xpath = new DOMXpath($doc);
  8. $name = $xpath->query('//*[@id="char_name"]')->item(0);
  9. $kill = $xpath->query('//*[@id="tr_killcount"]')->item(0);
  10.    
  11. // ceci est un commentaire, cette ligne sera ignoré lors de l'exécution du script
  12. //var_dump($name->nodeValue, $kill->nodeValue);
  13.  
  14. /*la c'est 3 lignes en commentaire
  15. string(6) "ToXNyO"
  16. string(4) "2964"
  17. */
  18. $blanc = imagecolorallocate($image, 255, 255, 255);
  19. imagestring($image, 5, 35, 15, $name, $blanc);
  20. imagestring($image, 5, 90, 20, $kill, $blanc);
  21. imagepng($image);
  22. ?>


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 08-10-2010 à 12:44:00    

Autant pour moi, merci comme je débute certains mots employés ne me font pas percuter directement vers la fonction alors que je savais comment mettre en commentaire...
Alors j'ai essayé mais ca marche pas...ca me parle d'une erreur de synthaxe ligne 3, alors vu qu'a l'origine j'appelai une image existante en png , j'ai essayé en en créant une en jpeg mais c'est pareil..c'est bizarre car jusque la je comprends se que je fais mais ca bloque.
J'ai mis les chomd de tout mes fichiers qui concerne les signatures en 777 est ce que c'est bon?
Je precise que j'arrive bien a appeler une les image de fond de mes signatures avec le texte dessus...
Voila désolé du derangement car a mon avis c'est une bricole.voici l'eereur que ca me met;
Parse error: syntax error, unexpected T_STRING in /home/a6055973/public_html/orange.php on line 3
Merci et désolé..


Message édité par tonny8 le 08-10-2010 à 12:51:05
Reply

Marsh Posté le 08-10-2010 à 20:47:23    

Citation :

Parse error: syntax error, unexpected T_STRING in /home/a6055973/public_html/orange.php on line 3


il y a quoi à la ligne 3 de ton fichier /home/a6055973/public_html/orange.php on line 3  
 
tu es sur un serveur perso chez orange ?? on -t-il la lib GD de chargé j'en doute test la fonction phpinfo()


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 14-10-2010 à 15:53:15    

Bonjour désolé pour ma reponse tardive, quelques probleme avec mon PC.
Mon hebergeur est Webhost , je leur est envoyé un mail et il m'on bien confirmé que librairy GD était bien present.
La ou on voit "orange" d'ecris se n'est que le nom de mon fichier ou est mon script.
En ligne 3 j'ai exactement ce qui est sur le code plus haut  
$image = imagecreatefrompng("a7.png" );


Message édité par tonny8 le 14-10-2010 à 15:55:43
Reply

Marsh Posté le 15-10-2010 à 10:01:19    

et les lignes précédentes ?
il y a une erreur de syntaxe, manque un point-virgule ou un dollar devant une variable,...


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 15-10-2010 à 12:33:31    

Salut j'ai exactement le script qui est au dessus et se que je ne comprends pas c'est que le script qui va suivre marche et la ligne 3 est la meme..
 
 <?php
header ("Content-type: image/png" );
$image = imagecreatefrompng("a7.png" );
 
$noir = imagecolorallocate($image, 0, 0, 0);
$blanc = imagecolorallocate($image, 255, 255, 255);
 
imagestring($image, 4, 35, 15, "DEATH", $blanc);
imagestring($image, 5, 35, 30, "KILLS", $blanc);
 
imagepng($image);
?>

Reply

Marsh Posté le 15-10-2010 à 14:48:04    

test comme ça :

Code :
  1. <?php
  2. $image = imagecreatefrompng("a7.png" );
  3. $noir = imagecolorallocate($image, 0, 0, 0);
  4. $blanc = imagecolorallocate($image, 255, 255, 255);
  5. imagestring($image, 4, 35, 15, "DEATH", $blanc);
  6. imagestring($image, 5, 35, 30, "KILLS", $blanc);
  7. header ("Content-type: image/png" );
  8. imagepng($image);
  9. ?>


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 15-10-2010 à 16:42:19    

Re, on s'est pas compris le dernier bout de script marche donc pas besoin de changer de place le header, par contre sur mon script j'avais les numero devant chaque ligne mais il les faut pas....alors maintenant il me dit qu'il ne peut l'afficher car elle contient des erreurs?? j'ai bientot plus de cheveux...lol

Reply

Marsh Posté le 15-10-2010 à 17:54:50    

tu enleve les numero de ligne ou tu double click sur le code avant de le copier ;)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 15-10-2010 à 20:00:27    

Oui oui ca c'est bon l'erreur de synthaxe est réparé depuis que j'ai enlevé les numeros devant mais c'est sur celui qui suit que ca me dit que y'a une erreur dans le script ligne 16, c'est ou y'a ecrit ca,
 
//  
string(6) "ToXNyO"  
string(4) "2964"  
//
 
J'ai beau tout essayer j'ai essayé de supprimer les 4 lignes mais ca ne marche pas...Est ce que vous voyez quelque chose qui n'irait pas? s'il vous plait?
 
Code :
<?php
header ("Content-type: image/png" );
$image = imagecreatefrompng("a7.png" );
$doc = new DOMDocument();
$doc->load('http://217.113.36.18/blackshot/userinfo/battleinfo.asp?cid=28433');
     
$xpath = new DOMXpath($doc);
$name = $xpath->query('//*[@id="char_name"]')->item(0);
$kill = $xpath->query('//*[@id="tr_killcount"]')->item(0);
   
//var_dump($name->nodeValue, $kill->nodeValue);
 
//
string(6) "ToXNyO"
string(4) "2964"
//
 
$blanc = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 5, 35, 15, $name, $blanc);
imagestring($image, 5, 90, 20, $kill, $blanc);
imagepng($image);
?>


Message édité par tonny8 le 15-10-2010 à 20:13:23
Reply

Marsh Posté le 15-10-2010 à 21:33:33    

oui  
<?php
$image = imagecreatefrompng("a7.png" );
$doc = new DOMDocument();
$doc->load('http://217.113.36.18/blackshot/userinfo/battleinfo.asp?cid=28433');
     
$xpath = new DOMXpath($doc);
$name = $xpath->query('//*[@id="char_name"]')->item(0)->nodeValue;
$kill = $xpath->query('//*[@id="tr_killcount"]')->item(0)->nodeValue;
   
//var_dump($name->nodeValue, $kill->nodeValue);
 
/*
string(6) "ToXNyO"
string(4) "2964"
*/
 
$blanc = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 5, 35, 15, $name, $blanc);
imagestring($image, 5, 90, 20, $kill, $blanc);
header ("Content-type: image/png" );
imagepng($image);
?>
 
Edit : en bleu, ensuite je ne peux pas tester plus


Message édité par stef_dobermann le 15-10-2010 à 23:15:01

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 15-10-2010 à 21:52:12    

Voila l'erreur que ca me met;
Catchable fatal error: Object of class DOMElement could not be converted to string in /home/a6055973/public_html/orange.php on line 18

Reply

Marsh Posté le 15-10-2010 à 23:15:20    

testé fonctionnelle à condition que l'image a7.png existe et soit situé au bonne endroit ;) :
$doc = new DOMDocument();
$doc->load('http://217.113.36.18/blackshot/userinfo/battleinfo.asp?cid=28433');
     
$xpath = new DOMXpath($doc);
$name = $xpath->query('//*[@id="char_name"]')->item(0)->nodeValue;
$kill = $xpath->query('//*[@id="tr_killcount"]')->item(0)->nodeValue;
   
$image = imagecreatefrompng("a7.png" );  
$blanc = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 5, 35, 15, $name, $blanc);
imagestring($image, 5, 90, 20, $kill, $blanc);
header ("Content-type: image/png" );
imagepng($image);


Message édité par stef_dobermann le 15-10-2010 à 23:25:17

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 16-10-2010 à 13:08:34    

MERCI !!!!!!!tu es le meilleur (que je connaisse lol) ca marche nikel, j'ai deja bien avancé et grace a toi mon projet avance, mais évidement j'ai 2 petite questions.
Sur la page ou je recupere mes informations il y a 1 barre d'évolution en % et un logo qui correspond au grade et j'aimerai bien les récuperer...est ce que pour le logo je dois utiliser "imagecreatefromgif" ?
Et ma 2eme questions est comme cette signature est pour tout le monde il faudrai que je donne un lien ou ils n'auraient que le numero du joueur a changer..exemple: ca c'est le lien ou je me connecte http://217.113.36.18/blackshot/use [...] ?cid=28433 et a la fin y'a 5 numeros...en les changeant on voit la page d'un autre perso. donc moi je voudrai leur donner un lien du style www.toxxik.webege.com/sign/leur identifiant comme ca il mette leur numero et ils ont leur signature...
Encore merci pour le coup de mains..
+++


Message édité par tonny8 le 16-10-2010 à 15:36:56
Reply

Marsh Posté le 20-10-2010 à 22:14:18    

Salut bon j'ai reglé un probleme mais il me reste a récuperer et afficher l' image qui correspond au grade dans le jeu, qu'elle est la fonction s'il vous plait ou un lien qui pourrait m'aider..? merci

Reply

Marsh Posté le 24-10-2010 à 10:12:55    

Salut je viens vous faire voir mon travail mais c'est pas tout a fait fini, sous le nom ADAM GARCIA la ou y'a un vide, je dois encore afficher l'image qui correspond au grade mais je ne sais comment faire...A la fin de mon projet tous les joueurs de ce jeu choisirons un cadre, en changeant 1 numero dans mon lien (je vais en proposer plusieurs) ajouterons leur photo en haut et en changeant le numero a la fin du liens ils verront leur information de jeu...voila meme si vous ne connaissez pas le jeu dites moi se que vous pensez de mon travail?
 
http://toxxik-fr.webege.com/sign/28433.png

Reply

Marsh Posté le 24-10-2010 à 12:42:21    

jolie, très jolie même; beau travail


Message édité par stef_dobermann le 24-10-2010 à 21:55:46

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 24-10-2010 à 21:40:17    

Merci c'est sympa, mais pas fini a 100% je trouve les ecritures pas net donc je dois y remedier, et aussi, et la j'ai besoin d'aide svp, comment recuperer l' image du grade qui est sur le meme lien que toutes les autres infos que je prends?
Et pour finir je voudrai faire plusieurs images pour les proposer aux membres en gardant les meme infos et je voudrai savoir quel fonction ou comment adapter mon code pour qu'ils est juste a changer un numero dans le lien pour choisir leur image? Exemple  mon lien est http://toxxik-fr.webege.com/sign/1/28433.png  et je voudrai que le "1" corresponde a l'image 1 et en faire plusieur comme ca...
Quant je saurai ca mon projet sera fini donc j'ai vraiment besoin d'un petit coup de mains pour finir..
MERCI d'avance a bientot..

Reply

Marsh Posté le 24-10-2010 à 21:58:23    

l'image du grade dans ton lien c'est "2nd Lieutenant" et l'image rouge qui est côté :??:


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed