Creer une image avec les ressources du serveur

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 : Creer une image avec les ressources du serveur

par Patriboom » 02 oct. 2008, 14:51

Merci pour ton code ... c'est très intéressant.


Je vais jouer avec ça comme un enfant avec son nouveau joujou.

par Nylan » 01 oct. 2008, 17:33

Merci beaucoup, ca m'a permis de rendre mon code bien plus "correct"

Par contre je trouve pas comment faire pour ajouter un symbole...

Code : Tout sélectionner

$titre2 = exec("echo 100.00 - $(sar 1 -P ALL | /usr/bin/tail -n 4| head -n1 | /bin/sed 's/\ \ */ /g' | cut -d' ' -f8 | /bin/sed 's/,/./g') | bc -l");
Ici par exemple, ca me renvois l'occupation processeur, par exemple 1.50 et je voudrais que ca ecrire 1.50 % , comment dans mon ancien code ( voir image )

J ai essayé de mettre des ' ou des " mais a chaque fois j ai des erreurs... :(

--------------------
EDIT
--------------------

Bon, j'ai fini par trouver une solution :)
Comme on m'a demandé, voici la source , c est pas tout joli joli, mais ça marche :)
Par rapport a ce code, pour que l image générée soit mise a jour régulièrement, j'ai simplement ajouté une boucle infinie pour que tout le code s exécute en boucle :)
Et je le lance dans mon serveur en faisait

Code : Tout sélectionner

php ./gen-beta3.php &
Comme ca, il n y a plus qu'a faire pointer les sites ou signatures sur uploads/memcpu.png
( http://nylanfr.homelinux.com/uploads/memcpu.png )


Code : Tout sélectionner

<?php header("Content-type: image/png"); $titre1 = "CPU"; $titre2 = exec("echo 100.00 - $(sar 1 -P ALL | /usr/bin/tail -n 4| head -n1 | /bin/sed 's/\ \ */ /g' | cut -d' ' -f8 | /bin/sed 's/,/./g') | bc -l"); $titre3 = "Memoire_Utilisee"; $titre4 = exec("echo $(atsar 1 -r | /usr/bin/tail -n 1| /bin/sed 's/\ \ */ /g' | cut -d' ' -f2 | /bin/sed 's/,/./g'| cut -d'M' -f1)-$(atsar 1 -r | /usr/bin/tail -n 1| /bin/sed 's/\ \ */ /g' | cut -d' ' -f5 | /bin/sed 's/,/./g'| cut -d'M' -f1)-$(atsar 1 -r | /usr/bin/tail -n 1| /bin/sed 's/\ \ */ /g' | cut -d' ' -f4 | /bin/sed 's/,/./g'| cut -d'M' -f1)-$(atsar 1 -r | /usr/bin/tail -n 1| /bin/sed 's/\ \ */ /g' | cut -d' ' -f3 | /bin/sed 's/,/./g'| cut -d'M' -f1) | bc -l"); $titre5 = "%"; $titre6 = "Mo"; $titre7 = "$titre2 $titre5"; $titre8 = "$titre4 $titre6"; $largeur = 200; $hauteur = 80; $img = imageCreate($largeur, $hauteur); $rouge = imageColorAllocate($img, 200, 100, 100); $noir = imageColorAllocate($img, 0, 0, 0); $titre_police = 5; imageString($img, $titre_police, ($largeur-imageFontWidth($titre_police)*strlen("$titre1"))/2, 5, $titre1, $noir); imageString($img, $titre_police, ($largeur-imageFontWidth($titre_police)*strlen("$titre7"))/2, 20, $titre7, $noir); imageString($img, $titre_police, ($largeur-imageFontWidth($titre_police)*strlen("$titre3"))/2, 40, $titre3, $noir); imageString($img, $titre_police, ($largeur-imageFontWidth($titre_police)*strlen("$titre8"))/2, 55, $titre8, $noir); imagepng($img, 'uploads/memcpu.png'); imagedestroy($img); ?>

par Ryle » 01 oct. 2008, 15:16

Tu peux utiliser les fonctions exec() ou system() de php pour lui faire exécuter une commande système spécifique (genre connaitre le % de cpu et de mémoire utilisé). Du coup pas besoin de générer un fichier php toutes les 3 secondes.

Un simple appel au script php lui permettra d'interroger le système et de te générer l'image... reste plus ensuite qu'à définir depuis la page html ou apparait cette image, à à quel rythme tu veux qu'elle l'actualise (si c'est juste à la demande, lors de l'ouverture, où s'il faut coller un timeout ou un interval JS pour la recharger régulièrement :))

Creer une image avec les ressources du serveur

par Nylan » 01 oct. 2008, 14:37

Bonjour,

je suis debutant en programmation, et je voulais mettre sur mon serveur web, une image qui contiendrais le taux d occupation de mon processeur, ainsi que la quantité de memoire utilisee...

J'y suis parvenu, mais en utilisant un fichier programmé en Sh ( je suis sous linux ) qui genere un fichier php, le fichier php genere l image, puis le fichier php est supprimé. Le tout dans une boucle infinie, et comme ca mon image est continuellement regeneree.

Le soucis c est que quand je regarde mon code, je le trouve un peu "moche". J'ai eu beau chercher, je n'ai pas trouvé comment on peux recuperer les infos de ressources du serveur en php.

Voila l'image de sortie de mon script : ( le refresh se fait toutes les 2 / 3 secondes )
Image

Alors est-il possible de tout faire en php et se passer du Sh ?