Aller au contenu

destroyedlolo

Hubmaster
  • Compteur de contenus

    823
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par destroyedlolo

  1. Bonjour, Pour palier a l'absence de l'heritage multiple en PHP5, j'utilise des __call() pour appeler des methodes qui se trouvent dans d'autres classes. Par exemple : CODE class A { function toto(){ echo "coucou"; } } class B { // bla bla } class C extends B { // plein de truc mais pas de toto() function __call($m, $arg){ return(A::$m()); } } $obj = new C; $obj->toto(); Dans ce cas, toto() n'existe ni dans C, ni dans B, mais celui de la method A est appele par le __call(). Le bleme, c'est que les arguments sont passees sous forme d'un tableau $arg alors comment puis-je ecrire ma fonction __call() pour eclater les arguments ? Pour le moment, je fais des function __call($m, $arg){ switch(count($arg)){ case 0: return(A::$m()); case 1: return(A::$m($arg[0])); case 1: return(A::$m($arg[0],$arg[1])); ... } } Mais c'est lourdingue Merci
  2. Merci rdd, ca fonctionne tres bien. Bye Lolo
  3. Bon, je n'arrive pas a voir ton lien car il est bloque par mon firewall, mais si tu veux un scrolling comme je l'ai fait dans cette page, il y a une balise nomee <MARQUEE> qui fait tout ca tout seul. Attention, elle n'est pas standard W3C mais fonctionne a ma connaissance sur la tres grande majorite des navigateurs ...
  4. Bonjour, J'ai plusieurs class qui sont definies chacune dans un fichier different, ce qui donne niveau code : CODE <?php/* Page.inc */ require_once('Albumine/lst_webobj.inc'); require_once('Albumine/encart.inc'); class page extends lst_webobj { [...] function charge( $dir=false ){ [...] $c = new encart($id, $this); $this->ajt_obj($c); [...] } } ?> et CODE <?php/* encart.inc */ require_once('Albumine/page.inc'); class encart extends page { [...] } Comme on peut le voir, encart est une classe qui herite de page mais page contient une fonction qui permet de charger des sous-objets qui peuvent etre de type encart. Bref, le probleme est que le require_once('Albumine/encart.inc'); de page.inc echoue car il me dit que la class page n'existe pas (normale, elle est definie par la suite). En C++, je rajouterai simplement un class page; au debut de encart.inc mais ca ne fonctionne pas en PHP. Des idees ? Bye Laurent
  5. Je previligirais la methode d'salcamden (c'est d'ailleurs ce que je fais sur une partie de mon site, et les .JPG sont stockes hors de l'arbos web pour qu'ils ne soient pas accessible directement). Si tu veux reelement reste dans la voix que tu as choisi, voici un truc un peu capilotractee mais qui devrais fonctionne quant meme : - tu encode ton image sous forme ascii (par exemple en la stockant sous forme de chaine Hexadecimale), - tu fais une boucle qui lit octet par octet et qui reconvertit les codes hexa en binaire et tu "affiches".
  6. Ben, a mon avis, c'est que tu n'as pas eu de chance : un robot est passe juste au moment ou le site etait hacke. Ca reviendra d'aplomb au prochain refresh. Le hacker t'as demande qq chose ?
  7. Salut, ???? chacun voit midi a sa porte comme on dit Perso mon site me rapport un peu moins de 100 $ par ans mais mon but n'a jamais ete de faire du ble avec. J'y ai mis de la pub au cas ou ... et le peu que je gagne n'est que du benef. Par contre, j'ai bloque les payements en attendant que le $ remonte
  8. Ben sous HP-UX, dans top il te met STATUS = Zombi, par contre, je me souviens plus ce que ca donne sous les autres OS ... D'une maniere generale, comme le process parent n'existe plus, le PPID du process passe a 0 ou a 1 suivant les OS. Apres, il faut faire le menage dans la liste des process car tout ce qui est demonds a aussi un PPID a 1. Je n'ai pas de nunux sous la main pour verifier ...
  9. Est-ce que le process est en Zombi ? As tu regarder s'il a des process fils qui ne serait pas fini ? J'ai eu le probleme sous HP-UX avec un popen() : c'etait du a l'OS qui ne detruisait pas les process fils creer par le popen() tant que pere n'etait pas terminer. A la fin, je me retrouvais avec des milliers de process (si si, des milliers ) zombi, qui, bizarrement, bouffait un max de CPU ...
  10. Je confirme en ce qui concerne les CES. J'ai demande directement au service qui les gere (le lien est sur le site) et ils m'ont confirmer que ca ne rentre pas la dedans ... Dommage
  11. Bonjour, j'essaie désespérément d'utiliser une font perso au format gdf mais rien ne s'affiche Voici mon code : CODE $captcha = imagecreatefrompng("captcha/captcha.png"); $font_color = imagecolorallocate($captcha, 0, 0, 0); imageline($captcha,5,0,39,37,$font_color); imageline($captcha,100,15,80,60,$font_color); $x_value = rand(0,35); $y_value = rand(0,15); if(!($font = imageloadfont('captcha/anonymous.gdf'))) die('*F* Impossible de charger la police'); imagestring($captcha, $font, $x_value, $y_value, $this->getClef(), $font_color); header("Content-type: image/jpeg"); imagejpeg($captcha); imagedestroy($captcha); Si je remplace $font par un chiffre < 11 dans imagestring, ca fonctionne, donc le probleme vient des fonts. J'ai essaye avec plusieurs fontes trouvees sur le net mais sans que ca fonctionne mieux. J'ai essaye aussi sur plusieurs systemes (HP-UX et NetBSD) mais toujours sans resultat. Bref ... je seche. Dans tout les cas, je suis sous Apache 2.2 avec PHP 5.2.4 compile avec les options suivantes : './configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-zlib' '--enable-exif' '--with-gd' '--with-jpeg-dir=/usr/pkg' '--with-png-dir=/usr/pkg' '--with-pgsql' '--without-pear' '--with-xsl' '--with-libxml' '--with-pdo-pgsql' '--enable-sysvsem' '--enable-sysvshm' Si qq'un a une idee, qu'il n'hesite pas. Merci et A+ PS : non, je ne veux pas utiliser du TTF.
  12. destroyedlolo

    $GLOBALS ?

    Oui, je suis d'accord avec Raptor, je global a l'utilisation du tableau car ca resemble plus a ce que font les autres langage.
  13. Et bien quelques uns de mes scripts : script de trie d'images en fonction de la date stockee dans les EXIF (il lit les fichiers d'images passes en parametres et les deplacent dans un repertoire correspondant a leur date, qu'il cree s'il n'existe pas encore) Generation en batch d'imagettes Monitoring de mon serveur web (je recupere des infos par NetStat et consors ou directement en ouvrant des sockets pour recuperer les infos dont j'ai besoin, que je stocke en database) Generation en tache de fond de graphiques bases sur des donnees qui se trouvent en database scripts journalier pour envoyer des alertes sur aux utilisateurs de mes sites web lorsqu'ils se rapproche de leur cota scripts de ligne de commandes pour interroger des web service pis aussi tous les trucs qui necessitent un gros traitement mathematique ou de chaine de caracteres. Avant je faisais ca a grands coups et SED et autre AWK mais c'est vite imbitable et surtout c'est lourding car l'OS est oblige de forker a chaque fois. En PHP, c'est enormement plus rapide et plus facile a maintenir L'avantage, c'est que PHP a beaucoup d'extention et ca evite de devoir faire de petits programme C uniquement pour extraire les EXIF d'une photo par exemple. Idem pour les database : je gere la logique des applies par du PHP plutot que de devoir creer des procedures stoquees ou meme des executables C qui seraient plus lourds a gerer. Il ne me manque en faite qu'une interface interactive comme dans les vieux BASIC pour remplir tous mes besoins Bye Lolo
  14. Bonjour, En toute premiere chose, je ne suis pas du tout d'accord avec le centré "création web" de notre ami SpeedAirMan. PHP est maintenant une langage totalement versatile et j'utilise beaucoup de scripts PHP pour faire autre chose que du web. En particulier, pour automatiser des taches que je faisais autre fois en script shell ... Concernant les CGI, voici l'utilisation que j'en fait : 1/ rapidite : avec des langage comme le C, on utilise des binaire compiler donc tres tres nettement plus rapide que leur equivalent en langage interprete (ce n'est valable que pour les gros traitement, pour les petits truc, un PHP en module est nettement plus rapide car on se passe de devoir forker un nouveau process). 2/ confidentialite : contrairement au PHP (en version non code), l'utilisateur final ne peux voir ni modifier le code 3/ comme on lance des process dedies, on est sur que toutes les resources sont bien liberees a la fin du traitement. Tres utilise pour traiter de grosses images par exemple, et la, le CGI peut tres bien lancer un script PHP. 4/ lien avec des resources non dispo sous PHP comme l'a explique SpeedAirMan, en particulier pour des peripheriques qui necessitent l'utilisation de librairie dediee. Voili voila Lolo
  15. Il faudrait que tu regardes dans ton error.log car uniquement une erreur 500, c'est un peu juste pour t'aider non
  16. Quant tu fais un phpinfo(), il te dit ou il trouve le php.ini.
  17. Le plus simple est de faire une authentification depuis PHP (une ebauche de code se trouve dans la doc de PHP) et ensuite, en fonction de l'utilisateur connecter, afficher la page correspondante. C'est tout simple a faire. A+
  18. T'en est sur ? J'ai eu besoin de faire ce genre de chose pour le site de mon club photo : j'hesitais entre du javascript et utiliser cette balise, mais j'ai trouve sur le web des references qui disait qu'elle etait reconnue par la majorite des navigateurs recents et qu'elle est donc conseiller par rapport a des javascript lourding.
  19. J'ai fait tourne un serveur sur un 486DX33 (sans database a l'epoque) et ma config mini actuellement est un Pentium 75 (Apache 2.2 + PHP5 + PostgreSQL) : faut pas etre presse lors de la compilation mais ca passe sans probleme. Comme dit plus haut, le seul facteur limitant est la memoire.
  20. Je confirme. Un gas avait pondu un clone de l'excellentissime "Lemmings" entierrement en javascript mais il n'a pas fait long feu car la boite qui detient les droits a demande de le supprimer. Quant il s'agit de jeux encore vendu (nouvelle versions) pourquoi pas, mais c'est du n'importe quoi lorsque certaines boites attaquent systematiquement les sites qui mettent en lignes de jeux Amiga meme s'ils refusent de vendre depuis des annees.
  21. De mon cote, j'ai mis un watermark (comment ca se dit en francais ca ???) sur toute mes photos, generer a la volee par un script PHP ce qui fait que je n'ai pas a m'en soucier lors du developpement. Et comme ca ne suffisait pas, je limite la taille a 800x600 maxi avec une qualite de 60%. Ces limitations sont suffisantes pour dissuader toutes utilisations serieuses de mes photos. J'ai environs 4 a 5000 photos publiques sur mon site, et je reçois plusieurs demandes par mois.
  22. C'est normal car DynDNS gere ton adresse publique (celle qui se trouve derriere ton routeur) et non l'adresse prive de ton serveur. En d'autres mots, une requete DNS renvoit l'adresse du routeur cote internet et non l'adresse de ton serveur. 3 Solutions : - créer sur ton reseau prive un serveur DNS qui sert aussi ton domaine (ce que j'ai fait). - ajouter en dure l'IP prive de ton serveur sur tes machines clientes. - il est peut etre possible de creer une adresse NAT sur ton routeur pour redirige les requettes vers ton serveur y compris sur ton reseau interne ... heu pas tester car ce n'est de toute facon pas possible sur ma FreeBox.
  23. Oui, un vieux tromblon sous un unix quelconque est un bon choix (il faut juste qu'il ait quant meme suffisament de memoire pour ne pas swaper). Ma machine de developpement a la maison est une Ultra60 sous Solaris 10 (mais elle me sert aussi de machine de bureau avec OpenOffice, GIMP, Firefox, ...) donc elle est relativement puissante. Au taf, il s'agit d'une vielle station HP-712 @ 80 Mhz (equivalent d'un pentium 160). Tres largement suffisant hormis question memoire car elle plafone a 96Mo. Utiliser une machine relativement lente pour les developpement est toujours un bon choix, car ca oblige les developpeurs a optimiser leur code (surtout pour ceux qui abusent des bases de donnees) : moins de mauvaises surprises lorsque le code passe en prod. Et pourtant, je fais des trucs relativement lourds en PHP5 avec du PostGreSQL derriere et des manipulations d'image a la voler ...
  24. C'est difficile de te repondre car ca depend de comment tu geres tes sites. Meme si le risque zero n'existe pas mais tu peux limite en : la premiere chose est bien evidement d'auditer regulierement ton code pour voir s'il n'y a pas de failles. J'en ai pas sous la mains, mais il y a pleins d'articles sur la securite de developpements sur le web. Mais si tu es en PHP, ne pas hesiter a voir ce qui se fait aussi autour du C ou du C++ car c'est aussi tres instructif. t'assurant que PHP est bien configure : en particulier, si tu utilise le mode SAFE, que les repertoires sont bien etanches (qu'un site n'ai pas le droit d'ecrire dans l'arborescence d'un autre site). ne pas utiliser les memes repertoires temporaires (si jamais tu en utilise) entre les differents sites. si possible, que chaque site utilise sont propre user UNIX et que les droits soient correctement mis au niveau des fichiers et des repertoires. Bref, en plus cours, faut eviter au maximum tout interaction d'un site sur les autres ... Ca parait un peu lourdingue, mais c'est assez facile a faire.
  25. Je ne suis pas sur d'avoir totalement compris ton propos, mais s'il s'agit de savoir s'il est possible de ne pas reactualiser le player et donc de ne pas couper la musique, la reponse est : OUI. S'il utilise reelement des frames, il suffit simplement de ne pas rafraichir celle qui contient le player.
×
×
  • Créer...