TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : Précédente 1 2 3 4 5 6 7 8 9 10 ... 97 98 99 100 Suivante | |
| Auteur | Message |
|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |
| Page : Précédente 1 2 3 4 5 6 7 8 9 10 ... 97 98 99 100 Suivante | |
Dutiona
|
# Posté le 08/04/2006 à 12:29:43 |
Vis pour être heureux !![]() Groupe : Membres |
Reprise du dernier message de la page précédente :
Oh, je ne savais pas...
dans la logique des chose mysql devrais traiter le limit et effectuer le tri suivant ce que demande le limit... Enfin bon, merci de la précision
Bisous, Nyu Défiez ma brute ! Eclipse user | Ubuntu (KDE) user | php/sql/xhtml/css/xml/xsl/javascript/java/python/perl/c/scheme coder. Framework in use: Seraframework (my own one). In Microeisti staff. |
Makkhdyn
|
# Posté le 08/04/2006 à 13:35:37 |
Beuhhhh![]() Groupe : Membres |
Citation : x_hces
Salut
En fait ma fonction sert à choisir entre differentes résolutions pour retailler une image uploadée. C'est pour mon script de news. Boarf je ne vois aucun interet a ta fonction... Voici ce qu'elle donne en version épurée: Code : PHP function recupereResolution($image, $diviseur = 20/9 ){
$source = imagecreatefromjpeg($image); // La photo est la source // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur = imagesx($source); $hauteur = imagesy($source); echo '<form action="" method="post"><p> <label>Ton choix de resolution??(diviseur par default)<br /> <select name="resolution">'; $tableau = array($diviseur, 0.5 , 1.5 , 2 , 2.5 , 3 , 4 ); foreach($tableau as $value){ $field = ceil($hauteur/$value).'*'.ceil($largeur/$value); echo '<option value="', $field, '">', $field, '</option>'; } echo '</select></label>'; echo '<input type="submit" /></p></form>'; } Ceci n'est pas une signature |
RedoX
|
# Posté le 08/04/2006 à 16:33:59 |
Never Trust, User Input !![]() Groupe : Membres |
Miniature Conservant les ProportionsCode : PHP function miniature($image,$maximum)
{ // Ouverture de l'Image Source if ( mime_content_type($image) === 'image/jpeg'){ $image = imagecreatefromjpeg($image); } elseif ( mime_content_type($image) === 'image/png' ){ $image = imagecreatefrompng($image); } elseif ( mime_content_type($image) === 'image/gif' ){ $image = imagecreatefromgif($image); } else { return; } // Dimensions $hauteur = imagesy($image); $largeur = imagesx($image); // Rapport & Dimensions Finales $miniature_h = $maximum / $hauteur ; $miniature_l = $maximum / $largeur ; $rapport = ( $miniature_h < $miniature_l ) ? $miniature_h : $miniature_l ; $hauteur_miniature = $hauteur * $rapport; $largeur_miniature = $largeur * $rapport; // Création de la Miniature, Réduction de l'Image Source, Génération de la Miniature $miniature = imagecreatetruecolor($largeur_miniature,$hauteur_miniature); imagecopyresized($miniature, $image, 0, 0, 0, 0, $largeur_miniature, $hauteur_miniature, $largeur,$hauteur); imagepng($miniature); } Elle s'appelle de cette facon ( par Exemple ): Code : PHP miniature("Image.jpg",250);
Inspiré du Tuto de DHKold sur la V2
Cette fonction ne crée par l'image Réduite mais peut facilement le faire
Le philosophe cherche des solutions aux problèmes et ne trouve que des problèmes sans solutions. Règles du Forum C.. Valables partout quand même ![]() Annexes Cours Php - Erreurs Sql - Doc Php - Doc Mysql - Temps Sql - Redirection Htaccess |
madyn
|
# Posté le 10/04/2006 à 00:16:23 |
![]() Groupe : Membres |
Fonction d'affichage du temps de générationPoints importants :
La fonction :Code : PHP function tps_gen(){
static $psgs=0; $ms=array(); if($psgs==0){ $ms['start']=microtime(); $psgs++; return(NULL); }elseif($psgs==1){ $ms['end']=microtime(); $psgs=0; return(round($ms['end']-$ms['start'], 4)); } } // Fonction de temps de génération de page : tps_gen(); Exemple d'utilisation :Code : PHP <?php
tps_gen(); // Du code echo 'Premier morceau éxécuté en '.tps_gen().' secondes'; tps_gen(); // Encore du code echo 'Fin de page éxécuté en '.tps_gen().' secondes !'; ?> @bientôt
Édité
le 10/04/2006 à 00:16:58
par madyn
m A d y n -
![]() Secret (cliquez pour afficher) 999999999999999999999999999999999999999999999999999999999 : neuf cent quatre-vingt-dix-neuf decillions neuf cent quatre-vingt-dix-neuf nonilliards neuf cent quatre-vingt-dix-neuf nonillions neuf cent quatre-vingt-dix-neuf octilliards neuf cent quatre-vingt-dix-neuf octillions neuf cent quatre-vingt-dix-neuf sextiliards neuf cent quatre-vingt-dix-neuf sextillions neuf cent quatre-vingt-dix-neuf quintilliards neuf cent quatre-vingt-dix-neuf quintillions neuf cent quatre-vingt-dix-neuf quadrillards neuf cent quatre-vingt-dix-neuf quadrillons neuf cent quatre-vingt-dix-neuf trilliards neuf cent quatre-vingt-dix-neuf trillions neuf cent quatre-vingt-dix-neuf billiards neuf cent quatre-vingt-dix-neuf billions neuf cent quatre-vingt-dix-neuf milliards neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf |
thelittlegui
|
# Posté le 10/04/2006 à 13:40:09 |
Yupe.![]() Groupe : Membres |
Pour l'amour du ciel, testez vos codes !
![]() madyn, ta fonction fait n'importe quoi... Déjà, microtime() utilisé sans argument renvoie une chaîne du type 0.µsec sec, ou sec est le timestamp actuel, et µsec les "microsecondes de la seconde actuelle" (difficile à expliquer :/) Donc pour avoir une chaîne correcte, du type sec.µsec, il faut faire array_sum(explode(' ', microtime())) (on éclate la chaîne en array et on additionne les 2 nombres). Ensuite, tu redéclares $ms à chaque appel, et comme tu ne le déclares pas comme statique, lorsque tu effectues $ms['end']-$ms['start'], $ms['start'] n'existe plus ! (et on a une belle Notice: Undefined index: start...) Résultat de tout cela : à son second appel, ta fonction renvoit en fait l'arrondi des "microsecondes actuelles" (µsec)... Ta fonction corrigée (et légèrement simplifiée) donnerait : Code : PHP function tps_gen() {
static $psgs=0; static $ms=array(); if($psgs==0) { $ms['start']=array_sum(explode(' ', microtime())); $psgs++; return; } else { $ms['end']=array_sum(explode(' ', microtime())); $psgs=0; return round($ms['end']-$ms['start'], 4); } } Mais j'avais trouvé une fonction qui fait la même chose, et que je trouve personnellement plus simple
(je ne sais plus de qui elle est, et de toute façon je l'ai un peu modifiée...)Fonction : Code : PHP function getmicrotime($start=NULL, $decimals=6) {
$microtime = (float) array_sum(explode(' ', microtime())); if (!isset($start)) return $microtime; // sinon (si $start est fourni, et ne vaut pas NULL)... $time_exec = $microtime - (float) $start; return round($time_exec, $decimals); } Utilisation (exemple) : Code : PHP <?php
// (ici définition de la fonction) $debut = getmicrotime(); // du code echo '<p>Code 1 exécuté en ',getmicrotime($debut),' s.</p>'; $milieu = getmicrotime(); // encore du code echo '<p>Code 2 exécuté en ',getmicrotime($milieu),' s.</p>'; // suite et fin du code echo '<p>Temps d’exécution de la page : ',getmicrotime($debut, 3),' s.</p>'; ?> Code testé et fonctionnel. Avantage : on peut utiliser plusieurs fois la fonction avec le même "start" (ici $debut)
|
madyn
|
# Posté le 10/04/2006 à 17:35:37 |
![]() Groupe : Membres |
Ma fonction fonctionne a merveille sur mon pc et sur dans le code d'un autre utilisateur !
Édité
le 10/04/2006 à 17:35:57
par madyn
m A d y n -
![]() Secret (cliquez pour afficher) 999999999999999999999999999999999999999999999999999999999 : neuf cent quatre-vingt-dix-neuf decillions neuf cent quatre-vingt-dix-neuf nonilliards neuf cent quatre-vingt-dix-neuf nonillions neuf cent quatre-vingt-dix-neuf octilliards neuf cent quatre-vingt-dix-neuf octillions neuf cent quatre-vingt-dix-neuf sextiliards neuf cent quatre-vingt-dix-neuf sextillions neuf cent quatre-vingt-dix-neuf quintilliards neuf cent quatre-vingt-dix-neuf quintillions neuf cent quatre-vingt-dix-neuf quadrillards neuf cent quatre-vingt-dix-neuf quadrillons neuf cent quatre-vingt-dix-neuf trilliards neuf cent quatre-vingt-dix-neuf trillions neuf cent quatre-vingt-dix-neuf billiards neuf cent quatre-vingt-dix-neuf billions neuf cent quatre-vingt-dix-neuf milliards neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf |
MaxDc
|
# Posté le 10/04/2006 à 18:00:03 |
Chouette alors !![]() Groupe : Membres |
ta fonction ne fonctionne pas du tout.
Une preuve ? essai ça: tps_gen(); sleep(2); echo tps_gen(); sleep(2) met une pause de 2 secondes dans le script, et ta fonction renvoie ~0.6 Ce qui empêche souvent d'aller de l'avant, c'est de commencer par le commencement. Une mère est de 21 ans plus âgée que son enfant. Dans 6 ans, son enfant sera 5 fois plus jeune que sa mère ! Question : Où se trouve le père ? |
madyn
|
# Posté le 10/04/2006 à 18:13:53 |
![]() Groupe : Membres |
Citation : MaxDc
ta fonction ne fonctionne pas du tout.
Une preuve ? essai ça: tps_gen(); sleep(2); echo tps_gen(); sleep(2) met une pause de 2 secondes dans le script, et ta fonction renvoie ~0.6 Normal, la fonction microtime s'est aussi mise en pause ! m A d y n -
![]() Secret (cliquez pour afficher) 999999999999999999999999999999999999999999999999999999999 : neuf cent quatre-vingt-dix-neuf decillions neuf cent quatre-vingt-dix-neuf nonilliards neuf cent quatre-vingt-dix-neuf nonillions neuf cent quatre-vingt-dix-neuf octilliards neuf cent quatre-vingt-dix-neuf octillions neuf cent quatre-vingt-dix-neuf sextiliards neuf cent quatre-vingt-dix-neuf sextillions neuf cent quatre-vingt-dix-neuf quintilliards neuf cent quatre-vingt-dix-neuf quintillions neuf cent quatre-vingt-dix-neuf quadrillards neuf cent quatre-vingt-dix-neuf quadrillons neuf cent quatre-vingt-dix-neuf trilliards neuf cent quatre-vingt-dix-neuf trillions neuf cent quatre-vingt-dix-neuf billiards neuf cent quatre-vingt-dix-neuf billions neuf cent quatre-vingt-dix-neuf milliards neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf |
MaxDc
|
# Posté le 10/04/2006 à 18:25:42 |
Chouette alors !![]() Groupe : Membres |
Citation : madyn
Citation : MaxDc
ta fonction ne fonctionne pas du tout.
Une preuve ? essai ça: tps_gen(); sleep(2); echo tps_gen(); sleep(2) met une pause de 2 secondes dans le script, et ta fonction renvoie ~0.6 Normal, la fonction microtime s'est aussi mise en pause ! mdr
echo time(); sleep(2); echo ' - ', time(); ça renvoie: 1144686365 - 1144686367 et la fonction time() ne devrait pas aussi _se mettre en pause_ ? microtime -- Retourne le timestamp UNIX actuel avec microsecondes time -- Retourne le timestamp UNIX actuel normalement, on connait les fonctions qu'on utilise
Édité
le 10/04/2006 à 18:26:22
par MaxDc
Ce qui empêche souvent d'aller de l'avant, c'est de commencer par le commencement. Une mère est de 21 ans plus âgée que son enfant. Dans 6 ans, son enfant sera 5 fois plus jeune que sa mère ! Question : Où se trouve le père ? |
madyn
|
# Posté le 10/04/2006 à 19:54:41 |
![]() Groupe : Membres |
J'utilise pas de fonction sleep dans mes pages
Édité
le 10/04/2006 à 19:54:55
par madyn
m A d y n -
![]() Secret (cliquez pour afficher) 999999999999999999999999999999999999999999999999999999999 : neuf cent quatre-vingt-dix-neuf decillions neuf cent quatre-vingt-dix-neuf nonilliards neuf cent quatre-vingt-dix-neuf nonillions neuf cent quatre-vingt-dix-neuf octilliards neuf cent quatre-vingt-dix-neuf octillions neuf cent quatre-vingt-dix-neuf sextiliards neuf cent quatre-vingt-dix-neuf sextillions neuf cent quatre-vingt-dix-neuf quintilliards neuf cent quatre-vingt-dix-neuf quintillions neuf cent quatre-vingt-dix-neuf quadrillards neuf cent quatre-vingt-dix-neuf quadrillons neuf cent quatre-vingt-dix-neuf trilliards neuf cent quatre-vingt-dix-neuf trillions neuf cent quatre-vingt-dix-neuf billiards neuf cent quatre-vingt-dix-neuf billions neuf cent quatre-vingt-dix-neuf milliards neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf |
thelittlegui
|
# Posté le 10/04/2006 à 19:54:48 |
Yupe.![]() Groupe : Membres |
madyn < je le répète : à son second appel, ta fonction renvoit les microsecondes de la seconde actuelle.
Normalement le code de MaxDc aurait dû suffire à te convaincre que ta fonction ne renvoit pas un résultat correct, mais je veux bien essayer de t'expliquer ce qui se passe... 1er appel : $psgs est initialisé à 0 comme statique, $ms est initialisé à un array vide non-statique. Le if est vérifié, on crée donc une "case" 'start' dans $ms, dans laquelle on met la chaîne renvoyée par microtime() à cet instant. On incrémente $psgs qui passe à 1, et on retourne NULL. 2nd appel : On retrouve $psgs, qui vaut toujours 1 grâce au static (donc elle ne repasse pas à 0), mais on réinitialise $ms comme array vide, car il n'y a pas de "static" : $ms['start'] disparaît. Le if n'est pas vérifié, le elseif si : on crée une case 'end' dans $ms, dans laquelle on met la chaîne renvoyée par microtime() à cet instant. On remet $psgs à 0. Et là, on veut faire $ms['end']-$ms['start'], seulement on vient de supprimer $ms['start'] en réinitialisant $ms au début de la fonction (une Notice* s'affiche d'ailleurs)... Autrement dit on fait round($ms['end']-NULL, 4), soit round($ms['end']-0, 4), c'est-à-dire round($ms['end'], 4). Et ce n'est pas tout : je rappelle que $ms['end'] ressemble à quelque chose comme "0.21458700 11446863512" (string), le round donne donc quelque chose comme 0.2146 (float) (lors du transtypage implicite de la chaîne en nombre, tout ce qui est après un caractère non numérique - ici l'espace - est ignoré). D'ailleurs, tu peux tester ta fonction originale sur un code qui prend plusieurs secondes (ça se voit facilement), elle reverra toujours un nombre décimal (float) entre 0 et 1
* Pour afficher toutes les erreurs (y compris les Notices, qu'apparemment tu ne dois pas avoir) sans toucher au php.ini, il suffit de mettre cette ligne, en tout début de code : Code : PHP De même, pour n'afficher aucune erreur, il suffit de remplacer E_ALL par 0
Édité
le 15/04/2006 à 10:41:38
par thelittlegui
|
madyn
|
# Posté le 10/04/2006 à 20:02:23 |
![]() Groupe : Membres |
Bon je trouve mes codes beaucoup plus rapides maintenant
Merci ! m A d y n -
![]() Secret (cliquez pour afficher) 999999999999999999999999999999999999999999999999999999999 : neuf cent quatre-vingt-dix-neuf decillions neuf cent quatre-vingt-dix-neuf nonilliards neuf cent quatre-vingt-dix-neuf nonillions neuf cent quatre-vingt-dix-neuf octilliards neuf cent quatre-vingt-dix-neuf octillions neuf cent quatre-vingt-dix-neuf sextiliards neuf cent quatre-vingt-dix-neuf sextillions neuf cent quatre-vingt-dix-neuf quintilliards neuf cent quatre-vingt-dix-neuf quintillions neuf cent quatre-vingt-dix-neuf quadrillards neuf cent quatre-vingt-dix-neuf quadrillons neuf cent quatre-vingt-dix-neuf trilliards neuf cent quatre-vingt-dix-neuf trillions neuf cent quatre-vingt-dix-neuf billiards neuf cent quatre-vingt-dix-neuf billions neuf cent quatre-vingt-dix-neuf milliards neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf |
Kermi
|
# Posté le 13/04/2006 à 22:11:13 |
www.puissancejeunz.fr![]() Groupe : Membres |
Citation : Eron Xeo
Petite astuce qui vous permet de remplacer tous les caractères spéciaux d'une chaîne par un underscore (notamment utile pour le traitement des noms de fichiers)
Code : PHP $nom_fichier = strtolower($_FILES['file']['name']); $nom_fichier=str_replace(array('ä', 'ê', 'ë', 'ô', 'î', 'ï', 'ô', 'ö', 'û', 'ü', 'ÿ', '€', '#', '+', '*', ' ', "'", '"', '²', '&', 'é', '~', '"', '{', '(', '[', '|', 'è', '`', 'ç', '^', 'à', 'à', ')', '}', '=', '}', '^', '$', '£', '¤', 'ù', '%', '*', 'µ', ',', '?', ';', ':', '/', '!', '§', '>', '<'), '_', $nom_fichier); ta fonction n'est pas complète !!! je l'ai complétée et j'ai mis un système qui évite les URL bizarre : si on met : Problème avec linux !!! ca mettra : probleme-avec-linux----.html et les ---- c'est pas très estétique... j'ai donc enlevé ca avec un trim. du coup : Problème avec linux !!! deviendra : probleme-avec-linux.html de plus, j'ai ajouté des accents et j'enlève les accents, je les remplace pas par des - cette fonction remplace aussi les majuscules par la même lettre en minuscule : Code : PHP function FileNameGen($string) {
# On remplace les caractères spéciaux $string = str_replace(array( '?', '!', '.', ','), '', $string); $string = trim($string); // Après avoir supprimé la ponctuation, on supprime les éventuels espaces avant et après $string (afin d'éviter les multi-tirets) $string = str_replace(array('€', '#', '+', '*', ' ', "'", '"', '²', '&', '~', '{', '(', '[', '|', '`', '^', ')', '}', '=', '}', '^', '$', '£', '¤', '%', '*', ';', ':', '/', '\\', '§', '>', '-', '_', '@', '§', '©', '<'), '-', $string); # On remplace les variantes de "e" $string = str_replace(array('ê', 'ë', 'é', 'è'), 'e', $string); # On remplace les variantes de "u" $string = str_replace(array('ù', 'µ', 'û', 'ü'), 'u', $string); # On remplace les variantes de "a" $string = str_replace(array('à', 'ä', 'â'), 'a', $string); # On remplace les variantes de "o" $string = str_replace(array('ô', 'ö', 'ò'), 'o', $string); # On remplace les variantes de "i" $string = str_replace(array('î', 'ï', 'ì', ), 'i', $string); # On remplace les variantes de "y" $string = str_replace(array('ÿ'), 'y', $string); # On remplace les variantes de "c" $string = str_replace(array('ç'), 'c', $string); # On remplace les variantes de "n" $string = str_replace(array('ñ'), 'n', $string); ## On remplace les majuscules $string = strtolower($string); return $string; } Pour l'appeller rien de plus simple : Code : PHP Faites-en bon usage
++
Édité
le 14/04/2006 à 09:27:57
par Kermi
|
MaxDc
|
# Posté le 13/04/2006 à 22:15:34 |
Chouette alors !![]() Groupe : Membres |
php5 > à la place de faire 10 str_replace, tu peux simplement en faire avec un gros array
et, "On remplace les majuscules" : strtolower() Ce qui empêche souvent d'aller de l'avant, c'est de commencer par le commencement. Une mère est de 21 ans plus âgée que son enfant. Dans 6 ans, son enfant sera 5 fois plus jeune que sa mère ! Question : Où se trouve le père ? |
Kermi
|
# Posté le 13/04/2006 à 22:17:33 |
www.puissancejeunz.fr![]() Groupe : Membres |
ouai, mais afin d'avoir moins le souk dans le code avec des strings à n'en plus finir, je préfère ranger les remplacements par catégories en commentant, ensuite on code comme on veut cette fonction bien sûr
++
PS : Je connaissait pas strolower()
Édité
le 13/04/2006 à 22:18:38
par Kermi
|
madyn
|
# Posté le 13/04/2006 à 22:37:32 |
![]() Groupe : Membres |
Ma fonction pour mettre au pluriel un nom comporte un bug !
Je ne l'ai pas sous la main, si vous la voulez contactez-moi par msn
m A d y n -
![]() Secret (cliquez pour afficher) 999999999999999999999999999999999999999999999999999999999 : neuf cent quatre-vingt-dix-neuf decillions neuf cent quatre-vingt-dix-neuf nonilliards neuf cent quatre-vingt-dix-neuf nonillions neuf cent quatre-vingt-dix-neuf octilliards neuf cent quatre-vingt-dix-neuf octillions neuf cent quatre-vingt-dix-neuf sextiliards neuf cent quatre-vingt-dix-neuf sextillions neuf cent quatre-vingt-dix-neuf quintilliards neuf cent quatre-vingt-dix-neuf quintillions neuf cent quatre-vingt-dix-neuf quadrillards neuf cent quatre-vingt-dix-neuf quadrillons neuf cent quatre-vingt-dix-neuf trilliards neuf cent quatre-vingt-dix-neuf trillions neuf cent quatre-vingt-dix-neuf billiards neuf cent quatre-vingt-dix-neuf billions neuf cent quatre-vingt-dix-neuf milliards neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf |
Philias
|
# Posté le 16/04/2006 à 18:13:30 |
![]() Groupe : Membres |
MiniMenu, Parser de titreLa fonction Code : PHP function minimenu($texte){ global $url_page; //Variable créé préalablement pour donner l'url de la page, car certains navigateurs n'accepte pas d'avoir simplement un # $minimenu = ''; $replace = '`<h(.)>(.*?)</h\1>`i'; preg_match_all($replace,$texte,$liste); if(isset($liste[0][0])) { $present = 0; $prochain = 0; $ulTemp = ' <ul> <li> '; while(isset($liste[1][$present]))//On vérifie tous les titre donné. $liste[1] Donne les numéro et $liste[2] Donne le texte du titre { $liste[3][$present] = ''; $liste[3][$prochain] = ''; $prochain = $present + 1; $liste[2][$present] = '<a href="'.$url_page.'#titre'.$present.'">'.$liste[2][$present].'</a>';//Pour ne pas avoir d'url, biffez cete ligne if(@$liste[1][$prochain] > @$liste[1][$present])//Ouvrons une liste... { $ulTemp .= ' '.$liste[2][$present].' <ul> <li> '; } elseif(@$liste[1][$prochain] == @$liste[1][$present])//Continuons la liste... { $ulTemp .= ' '.$liste[2][$present].' </li> <li> '; } elseif(@$liste[1][$prochain] < @$liste[1][$present])//Fermons une liste { $ulTemp .= $liste[3][$present].' '.$liste[2][$present].' </li> </ul> '; } if(!isset($liste[1][$prochain]))//Fermons l'ensemble des listes, puisqu'il n'y a pas de prochain { $temp = $liste[1][$present]; while($temp != $liste[1][0]) { $ulTemp .= ' </li> </ul> '; --$temp; } }//*/ ++$present; } $minimenu = '<div class="minimenu"> '.$ulTemp.'</div> '; } return $minimenu; } Et pour les titres dans la page, si vous utilisez les liens : Code : PHP $replace = '`<h([1-6])(.*?)>(.*)</h\1>`siU'; $numeroTitre = 0; while(preg_match($replace,$texte)) { $texte = preg_replace($replace,'<h$1$2 id="titre'.$numeroTitre.'">$3</h$1>',$texte,1); ++$numeroTitre; } Maintenant, je sais qu'il y a des lacunes. Si un <h4 /> Vient tout de suite après un <h2 />, ça cause problème. Amusez vous à la personaliser
Édité
le 16/04/2006 à 18:57:38
par Philias
|
Lynix
|
# Posté le 17/04/2006 à 20:37:45 |
Graphiste 3D![]() Groupe : Membres |
ça s'utilise <h1></h1> <h2></h2> plutot que <h1 /> <h2 /> non?
Utopy Bientot ![]() |
Pl00b
|
# Posté le 17/04/2006 à 21:01:38 |
Quote²![]() Groupe : Membres |
Sécurisé le Register_Globals une fois pour toutes :Je remet la source qui à été poster dans un topic que j'ai modifé, vraiment très pratique. Code : PHP <?php function GET_REGISTER($P1) { if (!empty($_GET)) { if ($P1 == TRUE) { foreach($_GET AS $key => $value) $_GET[$key] = stripslashes(trim($value)); } else { foreach($_GET AS $key => $value) $_GET[$key] = addslashes(trim($value)); } } if (!empty($_POST)) { if ($P1 == TRUE) { foreach($_POST AS $key => $value) $_POST[$key] = stripslashes(trim($value)); } else { foreach($_POST AS $key => $value) $_POST[$key] = addslashes(trim($value)); } } if (!empty($_SESSION)) { if ($P1 == TRUE) { foreach($_SESSION AS $key => $value) $_SESSION[$key] = stripslashes(trim($value)); } else { foreach($_SESSION AS $key => $value) $_SESSION[$key] = addslashes(trim($value)); } } } ?> P.S : Le paramètre $P1 : Mettez TRUE si vous voulez "stripslasher" la chaîne ou FALSE si vous voulez "addslasher" la chaîne. S'utilise de cette façons. Code : PHP <?php
// Vous avez $_GET['pseudo'] : GET_REGISTER("TRUE"); echo $pseudo; // Affiche $_GET['pseudo'] :) ?>
Édité
le 17/04/2006 à 21:02:55
par Pl00b
Tuto en cour de rédaction -> Optimiser vos programmes PHP |
Jukien
|
# Posté le 17/04/2006 à 21:17:22 |
![]() Groupe : Membres |
Pl00b : Tu peux optimiser ton code en utilisant array_walk(), à la place des foreach.
|
Pl00b
|
# Posté le 17/04/2006 à 21:18:40 |
Quote²![]() Groupe : Membres |
Connais pas du tout array_walk()
Vais chercher dans la doc, et si j'y arrive (ya pas de raison hein :D), j'edit
Tuto en cour de rédaction -> Optimiser vos programmes PHP |
Makkhdyn
|
# Posté le 17/04/2006 à 22:45:43 |
Beuhhhh![]() Groupe : Membres |
Moi j'aurais fait ça a la limite:
Code : PHP <?php
function Get_Register($strip, $arrays = array()){ $array = array('_POST', '_GET', '_SESSION'); $array = array_merge($array, $arrays); foreach($array as $variable){ global ${$variable}; // Je ne suis pas sur du tout que ça fonctionne ici... if(!empty(${$variable})){ foreach(${$variable} AS $key => $value){ $value = trim($value); if($strip) ${$variable}[$key] = stripslashes($value); else ${$variable}[$key] = addslashes($value); } } } } ?> Enfin je trouve quand même le code lourd et inutile. PS: Ajout de $arrays pour mettre d'autres arrays a traiter.
Édité
le 17/04/2006 à 22:49:18
par Makkhdyn
Ceci n'est pas une signature |
Philias
|
# Posté le 18/04/2006 à 01:20:06 |
![]() Groupe : Membres |
Citation : Philias
Maintenant, je sais qu'il y a des lacunes. Si un <h4 /> Vient tout de suite après un <h2 />, ça cause problème. Citation : Lynixça s'utilise <h1></h1> <h2></h2> plutot que <h1 /> <h2 /> non? C'est simplement une manière de raccourcir à l'écrit tout en étant conforme xhtml
Quant à moi, <h1 title="Le titre de la page" /> vaut presque <h1>Le titre de la page</h1> |
Jukien
|
# Posté le 18/04/2006 à 10:04:26 |
![]() Groupe : Membres |
Citation : Makkhdyn
Enfin je trouve quand même le code lourd et inutile.
Exactement ! Je pense qu'il est préférable de traiter les chaines au cas-par-cas, quand on les utilise. |
thelittlegui
|
# Posté le 18/04/2006 à 12:39:00 |
Yupe.![]() Groupe : Membres |
Pl00b < pour ta fonction, je ne vois pas le rapport avec register_globals...
d'autant que ton exemple d'utilisation n'affichera rien, si ce n'est une belle Notice: Undefined variable: pseudo...
|
Bison
|
# Posté le 18/04/2006 à 12:46:48 |
Expreg.com![]() Groupe : Membres |
Vos fonctions ou astuces, c'est le titre du post ça non ?
Parce que là, à part se noyer dans un flot de réponses les plus olé-olé les unes que les autres, je ne vois pas trop d'astuces qui tiennent vraiment la route. Mais bon... Par la rue "Plus tard", on arrive à la place "Jamais" ! Les regex, j'y connais que dalle... alors, j'essaie de comprendre là : Expreg.com |
Pl00b
|
# Posté le 18/04/2006 à 13:12:29 |
Quote²![]() Groupe : Membres |
Citation : thelittlegui
Pl00b < pour ta fonction, je ne vois pas le rapport avec register_globals...
d'autant que ton exemple d'utilisation n'affichera rien, si ce n'est une belle Notice: Undefined variable: pseudo... register_globals => Transforme tes variables de $_POST['salut'] à $salut ! Mais register_globals, à cause des codeurs, à largémént été critiqué et désormais il est sur OFF. Donc si tu est un ancien codeur, cette fonction te permettras de sécurisé le register_globals et en plus de coder comme avant
Et oui, ya toujours les adeptes de $HTTP_GET_VAR
Et de plus si tu à lue les cours de M@téo tu verras que les notices sont à ne pas reporter (E^ALL E^NOTICE). Tuto en cour de rédaction -> Optimiser vos programmes PHP |
MaxDc
|
# Posté le 18/04/2006 à 13:41:20 |
Chouette alors !![]() Groupe : Membres |
Fonction qui donne le jour d'une certaine dateCode : PHP function jour($jour, $mois, $an, $lang='fr') { $jour = (int)$jour; $mois = (int)$mois; $an = (int)$an; if ($an >= 2038) while ($an >= 2038) $an -= 28; elseif ($an <= 1970) while ($an <= 1970) $an += 28; $timestamp = mktime(0, 0, 0, $mois, $jour, $an); if ($lang == 'fr') { $numero_jour = date('w', $timestamp); $jours = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Same |
