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

Liste des fonctions et astuces des zéros en php

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2 
Hors ligne Makkhdyn # Posté le 10/06/2006 à 19:12:34
Beuhhhh
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Auteur: Arnaud
Type: Astuce
But: Appeler une fonction d'une classe dans un callback
Code:
Code : PHP
<?php
    class test{
        function next_year($matches){
            // comme d'habitude : $matches[0] représente la valeur totale
            // $matches[1] représente la première parenthèse capturante
            return $matches[1].($matches[2]+1);
        }

        function display($chaine){
            return preg_replace_callback('`(\d{2}/\d{2}/)(\d{4})`', array($this,'nextyear'), $chaine);
        }
    }
?>

C'est sur le array($this,'nextyear') que tout repose.

Ceci n'est pas une signature
 
Hors ligne Makkhdyn # Posté le 26/06/2006 à 08:48:20
Beuhhhh
Avatar
Groupe : Membres
Auteur: Steven
Type: Fonction
But: Implode recursif
Code:
Code : PHP
<?php
    function implode_r($string, $array){
        foreach($array as $key => &$value){
            if(is_array($value))
                $value = implode_r($string, $value);
        }
        return implode($string, $array);
    }
?>

Exemple:
Code : PHP
<?php
$array = array('test_1', array('test_2', 'test_3'), 'test_4', 'test_5');

// Essai de implode
echo implode('|', $array);

// Essai de implode_r
echo implode_r('|', $array);
?>

Rendu:
Citation
test_1|Array|test_4|test_5
test_1|test_2|test_3|test_4|test_5

Ceci n'est pas une signature
 
Hors ligne Makkhdyn # Posté le 26/06/2006 à 08:55:16
Beuhhhh
Avatar
Groupe : Membres
Auteur: 6(sic)6
Type: Fonction
But: Obtenir un arbre des dossiers
Code:
Code : PHP
<?php
    function get_tree($path = './'){
        if (substr($path,-1) !== '/')
            $path .= '/';
        $tree = '';
        $dirs = glob($path.'*');
        foreach ($dirs as $value){
            if(is_dir($value))
                $tree .= "\n".$value.'/'.get_tree($value.'/');
        }
        return $tree;
    }
?>

Exemple:
Code : PHP
<?php
    echo get_tree('upload/');
?>

Rendu:
Citation
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/

Ceci n'est pas une signature
 
Hors ligne Makkhdyn # Posté le 26/06/2006 à 09:01:43
Beuhhhh
Avatar
Groupe : Membres
Auteur: NeoZer0
Type: Astuce
But: La doc à porté de la main
Code a mettre dans le fichier php.src
- c:\Program Files\Mozilla Firefox\searchplugins pour windows
- /usr/share/firefox/searchplugins pour linux Mode root requit

Code:
Code : XML
<search
name="Php.net"
description="Recherche sur la doc PHP"
method="GET"
action="http://fr.php.net/manual-lookup.php"
queryCharset="utf-8"
>


<input name="pattern" user>
<inputnext name="start" factor="10">
<inputprev>

</search>


Enregistrer cette image dans le même dossier que php.src
Image utilisateur



Auteur: winzou
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

Ceci n'est pas une signature
 
Hors ligne Makkhdyn # Posté le 26/06/2006 à 10:33:22
Beuhhhh
Avatar
Groupe : Membres
Auteur: Pl00b
Type: Fonction
But: Remake des erreurs PHP

Très proche de set_error_handler


Code:
Code : PHP
<?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
<?php
    $query = mysql_query("SELECT * FROM table_qui_existe_pas ORDER BY RAND()") OR trigger(mysql_error(), 'SQL', __LINE__, __FILE__);
?>

Rendu:
Citation
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érifiez vos requètes SQL.
Message d'erreur : La table 'bdd.table_qui_existe_pas' n'existe pas

Ceci n'est pas une signature
 
Hors ligne Makkhdyn # Posté le 26/06/2006 à 10:54:58
Beuhhhh
Avatar
Groupe : Membres
Auteur: Philias
Type: Astuce
But: Éviter d'avoir une ponctuation séparée du mot
Code:
Code : PHP
<?php
    function ponctuation($texte){
        return str_replace(
            array(' ?', ' !', ' :', ' ;', 'M. ', 'Mme ', '« ', ' »', ' $', ' £', ' ¢', ' %', ' *',' ²',' ³'),
            array('&nbsp;?', '&nbsp;!', '&nbsp;:', '&nbsp;;', 'M.&nbsp;', 'Mme&nbsp;', '«&nbsp;', '&nbsp;»', '&nbsp;$', '&nbsp;£', '&nbsp;¢', '&nbsp;%', '&nbsp;*', '&nbsp;²', '&nbsp;³'),
            $texte
        );
    }
?>

Exemple:
Code : PHP
<?php
    $texte = '(À la fin d´une longue ligne) Et il me répondit : Ça n´est pas possible !
(longue ronde) « Mais qu´en faîtes vous ? »'
;
    echo $texte;
    echo nl2br("\n---\n");
    echo ponctuation($texte);
?>

Rendu:
Citation
(À 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 ? »




Ceci n'est pas une signature
 

Retour au forum "PHP" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 192 Zéros connectés | Requêtes SQL 6 requêtes | Temps de génération de la page : Total (SQL) 0.0219s (0.0066s)