Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > Vos Fonctions ou astuces - Liste > Lecture du sujet

Vos Fonctions ou astuces - Liste

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  Suivante
Hors ligne powange2 # Posté le 16/12/2007 à 23:48:23
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Auteur: Bison
Type: Fonction
But: Savoir si l'année testée est bissextile.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function bissextile($annee)
  3. {
  4.         return checkdate(2,29,$annee);
  5. }
  6. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php$i = 1999;
  2. while(++$i < 2006)
  3. {
  4.         echo $i.' : ';
  5.         var_dump(bissextile($i));
  6. }
  7. ?>

Citation : Rendu
2000 : bool(true)
2001 : bool(false)
2002 : bool(false)
2003 : bool(false)
2004 : bool(true)
2005 : bool(false)
Hors ligne powange # Posté le 17/12/2007 à 00:00:59
Avatar
Groupe : Membres
Auteur: Talus
Type: Fonction
But: Remplacer le array_combine avec PHP < 5
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if ( !function_exists('array_combine') )
  3. {
  4.         function array_combine($a, $b)
  5.         {
  6.                 $c = array();
  7.                 if ( is_array($a) && is_array($b) )
  8.                 {
  9.                         while ( list(, $va) = each($a) )
  10.                         {
  11.                                 if ( list(, $vb) = each($b) )
  12.                                         $c[$va] = $vb;
  13.                                 else
  14.                                         break 1;
  15.                         }
  16.                 }
  17.                 return $c;
  18.         }
  19. }
  20. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $a = array('green', 'red', 'yellow');
  3. $b = array('avocado', 'apple', 'banana');
  4. $c = array_combine($a, $b);
  5.  
  6. print_r($c);
  7. ?>

Citation : Rendu
Array
(
[green] => avocado
[red] => apple
[yellow] => banana
)
Hors ligne powange2 # Posté le 17/12/2007 à 00:11:25
Avatar
Groupe : Membres
Auteur: SquallX
Type: Fonction
But: Formater directement une image.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. //
  3. //      #     Fonction permettant de formater directement une image
  4. //      #     auteur : SquallX
  5. //              #     $image : url de l'image en question
  6. //              #     $nom_image :  nom de l'image en question
  7. //              #     $border : bordure voulue de l'image
  8. //
  9. function make_image($image, $nom_image, $border = 0)
  10. {
  11.         return '<img src="' . $image . '" alt="' . $nom_image . '" title="' . $nom_image . '" border="' . $border .'" />';
  12. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. make_image('image1.jpg', 'une image en jpg', '0')
  3. ?>
Hors ligne powange # Posté le 17/12/2007 à 00:40:14
Avatar
Groupe : Membres
Auteur: Pinedjem
Type: Fonction
But: Aire et Périmètre d'un cercle.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function peri_cercle($nombre = '', $rayon = TRUE)
  3. {
  4.         if($rayon)
  5.                 return round(2 * $nombre * pi(), 2);
  6.         else
  7.                 return round($nombre * pi(), 2);
  8. }
  9.  
  10. function aire_cercle($nombre = '', $rayon = TRUE)
  11. {
  12.         if($rayon)
  13.                 return round(pi() * pow($nombre / 2, 2), 2);
  14.         else
  15.                 return round(pi() * pow($nombre, 2), 2);
  16. }
  17. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. echo peri_cercle(4),'<br />';
  3. echo peri_cercle(4, FALSE),'<br />';
  4. echo aire_cercle(4),'<br />';
  5. echo aire_cercle(4, FALSE);
  6. ?>

Citation : Rendu
12.57
25.13
50.27
12.57
Hors ligne powange2 # Posté le 17/12/2007 à 12:04:24
Avatar
Groupe : Membres
Auteur: Bison
Type: Astuce
But: Enlever les retours à la lignes et les retours de chariots.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $texte = str_replace(chr(10),'',$texte);
  3. $texte = str_replace(chr(13),'',$texte);
  4. ?>
Hors ligne powange # Posté le 17/12/2007 à 12:23:05
Avatar
Groupe : Membres
Auteur: Makkhdyn
Type: Fonction
But: Obtenir un chemin relatif sur toutes les plates formes.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function relative_path($source, $dest, $separator = DIRECTORY_SEPARATOR)
  3. {
  4.         $return = null;
  5.         $same_path = true;
  6.         $source_exp = explode($separator, $source);
  7.         $dest_exp = explode($separator, $dest);
  8.         foreach($source_exp as $nb => $file)
  9.         {
  10.                 if(isset($dest_exp[$nb]) && $file === $dest_exp[$nb] && $same_path)
  11.                         unset($dest_exp[$nb]);
  12.                 else
  13.                 {
  14.                         $same_path = false;
  15.                         $return .= '..' . $separator;
  16.                 }
  17.         }
  18.         if(empty($dest_exp)) return './';
  19.         return $return . implode($separator, $dest_exp) . '/';
  20. }
  21. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $path1 = dirname('C:\makkhdyn\tessta\bleu.php');
  3. $path2 = dirname('C:\maakkhdyn\tesstb\bleud.php');
  4.  
  5. echo relativepath($path1, $path2);
  6. ?>

Citation : Rendu
..\..\maakkhdyn\tesstb
Hors ligne powange2 # Posté le 18/12/2007 à 00:42:19
Avatar
Groupe : Membres
Auteur: Flolfou
Type: Fonction
But: Vérifier la validité du domaine d'un mail.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function verif_email($email)
  3. {
  4.         list($user, $domaine) = split("@", $email,2)
  5.         return(checkdnsrr($domaine, "MX"));
  6. }
  7. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if(verif_email('siteduzero@hotmail.com'))
  3.         echo 'hotmail.com existe bien';
  4. else
  5.         echo 'hotmail.com n\'existe pas';
  6. ?>

Citation : Rendu
hotmail.com existe bien
Édité le 08/01/2008 à 12:09:08 par powange2
Hors ligne powange # Posté le 18/12/2007 à 00:46:23
Avatar
Groupe : Membres
Auteur: Arnaud
Type: Astuce
But: Appeler une fonction d'une classe dans un callback.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. class test
  3. {
  4.         function next_year($matches)
  5.         {
  6.             // comme d'habitude : $matches[0] représente la valeur totale
  7.             // $matches[1] représente la première parenthèse capturante
  8.             return $matches[1].($matches[2]+1);
  9.         }
  10.  
  11.         function display($chaine)
  12.         {
  13.             return preg_replace_callback('`(\d{2}/\d{2}/)(\d{4})`', array($this,'nextyear'), $chaine);
  14.         }
  15. }
  16. ?>

C'est sur le array($this,'nextyear') que tout repose.
Hors ligne powange2 # Posté le 18/12/2007 à 15:00:06
Avatar
Groupe : Membres
Auteur: Arnaud
Type: Fonction
But: Vérifier la syntaxe d'email.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function verif_email($mail)
  3. {
  4.         if(preg_match('`^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$`',$mail))
  5.                 return true;
  6.         else
  7.                 return false;
  8. }
  9. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if(verif_email('debut-du_mail@domaine-du__mail.com'))
  3.         echo 'ok';
  4. ?>

Citation : Rendu
ok
Hors ligne powange # Posté le 23/12/2007 à 18:15:05
Avatar
Groupe : Membres
Auteur: 6(sic)6
Type: Fonction
But: Obtenir un arbre des dossiers.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function get_tree($path = './')
  3. {
  4.         if (substr($path,-1) !== '/')
  5.                 $path .= '/';
  6.         $tree = '';
  7.         $dirs = glob($path.'*');
  8.         foreach ($dirs as $value)
  9.         {
  10.                 if(is_dir($value))
  11.                         $tree .= "\n".$value.'/'.get_tree($value.'/');
  12.         }
  13.         return $tree;
  14. }
  15. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. echo get_tree('upload/');
  3. ?>

Citation : Rendu
upload/autres/
upload/images/
upload/pdf/
upload/pdf/fyg/
upload/pdf/ghu/
upload/pdf/ghu/se/
upload/pdf/ghu/yfg/
upload/pdf/ghu/yfg/ok/
upload/pdf/ok/
Hors ligne powange2 # Posté le 02/01/2008 à 22:34:44
Avatar
Groupe : Membres
Auteur: winzou
Type: Astuce
But: La doc à porté de la main avec Firefox
Explication:
Citation : winzou
Mettez php.net dans les marques pages, avec comme mot clé "php" et comme adresse http://php.net/%s

Comme ca, quand vous tapez "php plop" dans la barre d'url, ca va directement sur http://php.net/plop
Hors ligne powange # Posté le 08/01/2008 à 12:02:31
Avatar
Groupe : Membres
Auteur: 6(sic)6
Type: Fonction
But: Éviter d'avoir une ponctuation séparée du mot.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function ponctuation($texte)
  3. {
  4.         return str_replace(
  5.                 array(' ?', ' !', ' :', ' ;', 'M. ', 'Mme ', '« ', ' »', ' $', ' £', ' ¢', ' %', ' *',' ²',' ³'),
  6.                 array('&nbsp;?', '&nbsp;!', '&nbsp;:', '&nbsp;;', 'M.&nbsp;', 'Mme&nbsp;', '«&nbsp;', '&nbsp;»', '&nbsp;$', '&nbsp;£', '&nbsp;¢', '&nbsp;%', '&nbsp;*','&nbsp;²','&nbsp;³'),
  7.                 $texte);
  8. }
  9. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. <?php
  3. $texte = '(À la fin d´une longue ligne) Et il me répondit : Ça n´est pas possible !
  4. (longue ronde) « Mais qu´en faîtes vous ? »';
  5. echo $texte;
  6. echo nl2br("\n---\n");
  7. echo ponctuation($texte);
  8. ?>
  9. ?>

Citation : Rendu
(À la fin d´une longue ligne) Et il me répondit
: Ça n'est pas possible !
(longue ronde) « Mais que faîtes vous ?
»
---
(À la fin d'une longue ligne) Et il me
répondit : Ça n'est pas possible !
(longue ronde) « Mais qu'en faîtes
vous ? »
Édité le 09/01/2008 à 13:31:55 par powange
Hors ligne powange2 # Posté le 08/01/2008 à 12:40:54
Avatar
Groupe : Membres
Auteur: Pl00b
Type: Fonction
But: Remake des erreurs PHP.
Code:
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<?php
function trigger($errno, $type, $line, $file)
{
        echo '<h1>Erreur :<h1>
        Une erreur de type <b>',$type,'</b> a été détécté.<br />
        <b>Fichier :</b> ',$file,'<br />
        <b>Ligne :</b> ',$line,'<br />
        <b>Méthode de débuggage :</b> ';
        if ($type == 'SQL')
        {
                echo 'Vérifiez vos requêtes SQL.<br />';
        }
        echo '<b>Message d\'erreur : </b> ',$errno,'';
        die();
}     
?>

Exemple:
Code : PHP
1
2
3
<?php
$query = mysql_query("SELECT * FROM table_qui_existe_pas ORDER BY RAND()") OR trigger(mysql_error(), 'SQL', __LINE__, __FILE__);
?>

Citation : Rendu
Erreur de type SQL détécté.
Fichier : C:\documents and settings\pl00b\bureau\test\includes\fonctions.php
Ligne : 5
Méthode de débuggage : Vérifié vos requètes SQL.
Message d'erreur : La table 'bdd.table_qui_existe_pas' n'existe pas
Hors ligne powange # Posté le 08/01/2008 à 15:36:17
Avatar
Groupe : Membres
Auteur: Anonymous59
Type: Fonction
But: Se connecter à une url en envoyant les infos d'un cookie.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function connect_with_cookie($url, $name, $content)
  3. /*
  4. Cette fonction permet de se connecter au site $url
  5. en envoyant les infos d'un cookie. $name est le nom
  6. du cookie, et $content son contenu. Cette fonction
  7. retourne le contenu de la page $url. Si ce contenu
  8. n'a pu être obtenu, la fonction renvoie false. Cette
  9. fonction peut ne pas marcher sur certains serveurs web
  10. */
  11. {
  12.         $opts = array('http'=>array('method' => 'GET','header' => "Cookie: ".$name."=".$content."\r\n\r\n"));
  13.         $context = stream_context_create($opts);
  14.         $ret = file_get_contents($url, false, $context);
  15.         if(empty($ret))
  16.                 return false;
  17.         else
  18.                 return $ret;
  19. }
  20. ?>
Hors ligne powange2 # Posté le 09/01/2008 à 13:57:54
Avatar
Groupe : Membres
Auteur: Makkhdyn
Type: Fonction
But: Fonction implode récursive.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function implode_r($string, $array)
  3. {
  4.         foreach($array as $key => $value)
  5.         {
  6.                 if(is_array($value))
  7.                 {
  8.                         $return[] = implode_r($string, $value);
  9.                 }
  10.                 else
  11.                 {
  12.                         $return[] = $value;
  13.                 }
  14.         }
  15.         $return = implode($string, $return);
  16.         return $return;
  17. }
  18. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $array=array(
  3.                 'bannane',
  4.                 array( 'poules', 'zéro'),
  5.                 'cailloux'
  6.         );
  7. echo implode_r(', ', $array);
  8. ?>

Citation : Rendu
bannane, poules, zéro, cailloux
Hors ligne powange # Posté le 09/01/2008 à 15:25:32
Avatar
Groupe : Membres
Auteur: Steven
Type: Fonction
But: Fonction array_key_exists() récursive.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function array_key_exists_r($search, $array)
  3. {
  4.         $return = false;
  5.         if(array_key_exists($search, $array))
  6.         {
  7.                 $return = true;
  8.         }
  9.         else
  10.         {
  11.                 foreach($array as $clef => $valeur)
  12.                 {
  13.                         if(is_array($valeur))
  14.                         {
  15.                                 if(array_key_exists_r($search, $valeur))
  16.                                 {
  17.                                         $return = true;
  18.                                 }
  19.                         }
  20.                 }
  21.         }
  22.         return $return;
  23. }
  24. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $pages = array();
  3. $pages['interface'] = array(
  4.         'accueil' => 'accueil.php',
  5.         'articles' => 'articles.php',
  6.         'article' => 'article.php'
  7.         );
  8. $pages['redirection'] = array(
  9.         'action' => 'action'
  10.         );
  11.  
  12. $bool = array_key_exists('accueil', $pages); // Ici, $bool vaut false
  13. $bool = array_key_exists_r('accueil', $pages); // Ici, $bool vaut true
  14. ?>
Hors ligne powange2 # Posté le 30/01/2008 à 17:21:21
Avatar
Groupe : Membres
Auteur: Pl00b
Type: Astuce
But: Empêcher de voir un fichier directement.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. // A mettre au debut du fichier protégé à inclure.
  3. if (!defined("NO_HACK"))
  4.         die('Erreur : Impossible de visualiser directement ce fichier, il faut l\'inclure.');
  5. ?>

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. // Dans votre fichier où vous incluer le fichier protégé.
  3. define('NO_HACK', TRUE);
  4. ?>
Hors ligne powange # Posté le 31/01/2008 à 19:55:07
Avatar
Groupe : Membres
Auteur: thelittlegui
Type: Fonction
But: Remplacer du texte par une autre valeur dans une chaine qu'un certain nombre de fois.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function str_replace_limit($search, $replace, $subject, $limit=-1)
  3. {
  4.         if (is_array($search))
  5.         {
  6.                 foreach ($search as $k=>$v)
  7.                 {
  8.                         $search[$k] = '`' . preg_quote($search[$k],'`') . '`';
  9.                 }
  10.         }
  11.         else
  12.         {
  13.                 $search = '`' . preg_quote($search,'`') . '`';
  14.         }
  15.         return preg_replace($search, $replace, $subject, $limit);
  16. }
  17. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $texte='televison telephone telecopie telerama teleporteur';
  3. echo str_replace_limit($texte, 'tele', 'télé', 3);
  4. ?>

Citation : Rendu
télévison téléphone télécopie telerama teleporteur
Édité le 07/02/2008 à 21:43:00 par powange
Hors ligne powange2 # Posté le 02/02/2008 à 18:03:38
Avatar
Groupe : Membres
Auteur: Anonymous (Doc php)
Type: Fonction
But: Rempalcer str_split() sous php4.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if(! function_exists('str_split'))
  3. {
  4.         function str_split($text, $split = 1)
  5.         {
  6.                 $array = array();
  7.                
  8.                 for ($i = 0; $i < strlen($text);)
  9.                 {
  10.                         $array[] = substr($text, $i, $split);
  11.                         $i += $split;
  12.                 }
  13.        
  14.                 return $array;
  15.         }
  16. }
  17. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $text='Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In ornare lacus eu risus.';
  3. print_r(str_cut($text, 10));
  4. ?>

Citation : Rendu
Array
(
[0] => Lorem ipsu
[1] => m dolor si
[2] => t amet, co
[3] => nsectetuer
[4] => adipiscin
[5] => g elit. In
[6] => ornare la
[7] => cus eu ris
[8] => us.
)
Édité le 06/02/2008 à 00:46:27 par powange2
Hors ligne powange # Posté le 03/02/2008 à 20:32:21
Avatar
Groupe : Membres
Auteur: Makkhdyn
Type: Astuce
But: Une façon plus lisible de faire des return avec des conditions.
Explication:
Au lieu de mettre:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if(condition)
  3. {
  4.         //Tout le code
  5. }
  6. else
  7. {
  8.         return false;
  9. }
  10. ?>

On peut faire:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if(!condition) return false;
  3. //tout le code
  4. ?>
Hors ligne powange2 # Posté le 05/02/2008 à 13:05:25
Avatar
Groupe : Membres
Auteur: thelittlegui
Type: Fonction
But: Créer un texte avec un contour en GD.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function imagettftext_contour($image, $fontsize, $angle, $x, $y, $color, $font, $text, $color_contour, $contour_haut=1, $contour_bas=1, $contour_gauche=1, $contour_droite=1)
  3. {  
  4.         $coords_x=array(); $coords_y=array();
  5.         for ($i_y = -$contour_haut; $i_y <= $contour_bas; $i_y++)
  6.         {
  7.                 $y_temp = @array_fill(0, $contour_gauche+$contour_droite+1, $i_y);
  8.                 $x_temp = array();
  9.                 for ($i_x = -$contour_gauche; $i_x <= $contour_droite; $i_x++)
  10.                 {
  11.                         $x_temp[] = $i_x;
  12.                 }
  13.                 $coords_x = array_merge($coords_x, $x_temp);
  14.                 $coords_y = array_merge($coords_y, $y_temp);
  15.         }
  16.  
  17.         $c = count($coords_x);
  18.         // contours
  19.         for ($i=0; $i<$c; $i++)
  20.         {
  21.                 imagettftext($image, $fontsize, $angle, $x+$coords_x[$i], $y+$coords_y[$i], $color_contour, $font, $text);
  22.         }
  23.         // texte
  24.         imagettftext($image, $fontsize, $angle, $x, $y, $color, $font, $text);
  25. }
  26. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $im = imagecreatetruecolor(200, 200);
  3.  
  4. $blanc = imagecolorallocate($im, 255,255,255);
  5. $noir = imagecolorallocate($im, 0,0,0);
  6. $gris = imagecolorallocate($im, 200,200,200);
  7.  
  8. imagefill($im, 0, 0, $blanc);
  9.  
  10. $font = 'arial.ttf'; // fichier dans le même dossier
  11. $size = 12;
  12. $angle = 0;
  13. $text = 'Je suis un TEST !';
  14. // contour simple (défaut)
  15. imagettftext_contour($im, $size, $angle, 40, 50, $noir, $font, $text, $gris);
  16. // contour étiré verticalement
  17. imagettftext_contour($im, $size, $angle, 40, 90, $noir, $font, $text, $gris, 2,2);
  18. // effet de relief
  19. imagettftext_contour($im, $size, $angle, 40, 130, $noir, $font, $text, $gris, 0,2,0,2);
  20. // effet d'ombre
  21. imagettftext_contour($im, $size, $angle, 40, 170, $noir, $font, $text, $gris, -3,4,-2,3);
  22.  
  23. header('Content-type: image/png');
  24. imagepng($im);
  25. imagedestroy($im);
  26. ?>
Hors ligne powange # Posté le 05/02/2008 à 13:59:10
Avatar
Groupe : Membres
Auteur: Talus
Type: Fonction
But: Simule version_compare() avec PHP < 4.0.7
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if( !function_exists('version_compare') ){
  3.         function version_compare($version_utilisee = PHP_VERSION, $version_necessaire)
  4.         {
  5.                 // -- On extraits les valeur de la version de PHP utilisée... et on force le type de chaque element à des valeurs numériques.
  6.                 list($utilisee['majorant'], $utilisee['minorant'], $utilisee['edition']) = explode('.', $version_utilisee);
  7.                 list($utilisee['edition'], $statut['utilisée']) = explode('-', $utilisee['edition']);
  8.                
  9.                 foreach($utilisee as $type => $valeur){
  10.                         $utilisee[$type] = intval($valeur);
  11.                 }
  12.                
  13.                 // -- On extrait les valeur de la version necessaire... et on force le type de chaque element à des valeurs numériques.
  14.                 list($necessaire['majorant'], $necessaire['minorant'], $necessaire['edition']) = explode('.', $version_necessaire);
  15.                 list($necessaire['edition'], $statut['necessaire']) = explode('-', $necessaire['edition']);
  16.                
  17.                 foreach($necessaire as $type => $valeur){
  18.                         $necessaire[$type] = intval($valeur);
  19.                 }
  20.                
  21.                 // -- On Compare (morceaux par morceaux) la version utilisée. On commence par le majorant.
  22.                 if( $utilisee['majorant'] > $necessaire['majorant'] ){
  23.                         return 1;
  24.                 }
  25.                 // -- Le majorant est-il égal à celui de la version necessaire ?
  26.                 elseif( $utilisee['majorant'] === $necessaire['majorant'] )
  27.                 {
  28.                         if( $utilisee['minorant'] > $necessaire['minorant'] )
  29.                                 return 1;
  30.                         elseif( $utilisee['minorant'] === $necessaire['minorant'] )
  31.                         {
  32.                                 if( $utilisee['edition'] > $necessaire['edition'] )
  33.                                         return 1;
  34.                                 elseif( $utilisee['edition'] === $necessaire['edition'] )
  35.                                         return 0;
  36.                                 else
  37.                                         return (-1);
  38.                         }
  39.                         else
  40.                                 return (-1);
  41.                 }
  42.                 else
  43.                         return (-1);
  44.         }
  45. }
  46. ?>

Exemple:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. echo version_compare("4.0.4", "4.0.6");
  3. ?>

Citation : Rendu
-1
Hors ligne powange2 # Posté le 05/02/2008 à 14:29:56
Avatar
Groupe : Membres
Auteur: pyrou
Type: Astuce
But: Eviter de changer les paramètres de connexion SQL lors des transfert local/distant.
Code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. // A placer dans votre config.inc.php préféré
  3. $isOnline = ($_SERVER['SERVER_ADDR'] !== '127.0.0.1');
  4. if($isOnline)