IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez / Téléchargez Sources et Outils PHP Discussion :

Participez à la FAQ


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

  1. #1
    Community Manager

    Profil pro
    Inscrit en
    Avril 2014
    Messages
    4 207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2014
    Messages : 4 207
    Points : 13 071
    Points
    13 071
    Par défaut Participez à la FAQ
    Salut à tous,

    La FAQ PHP est actuellement en ligne avec plus de 235 questions/réponses et en évolution constante.

    Vous pouvez la consulter avant de poser une question sur le forum. De plus, pour faciliter vos investigations, un moteur de recherche y a été intégré.

    Toutefois nous pouvons la faire grandir avec votre collaboration. En effet, pour participer à son évolution, vous pouvez poster en enfilade toutes les questions/réponses qui vous semblent pertinentes.

    Merci de mettre les Q/R sous ce format :

    Question ? (Version: XXX)

    Réponse à la question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    agrémentée d'un bout de code le cas échéant
    Pour plus d'information, veuillez me contacter.

    pour votre future participation

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut à tous

    La FAQ PHP est l'un des nombreux moyens par lesquels vous pouvez contribuer à améliorer Developpez.com et les ressources que nous mettons à disposition.
    Dans la mesure du possible, nous essaierons de vous proposer des Q/R pur que vous puissiez plus facilement nous aider. Veuillez contacter Kerod ou moi-même pour toute question.


  3. #3
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut Installation de la fonctions Fileinfo sous Windows
    Après plusieurs tentative pour installer la fonction Fileinfo sous windows avec PHP 5 voici comment j'y suis arrivé.
    1. Aller télécharger le dll php_fileinfo.dll sur le site web suivant : http://pecl4win.php.net/
    2. Le mettre dans le dossier des extensions de votre installation de PHP
    3. Ajouter cette ligne dans votre fichier php.ini
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      extension=php_fileinfo.dll
    4. Retirer tous les points d'exclamations du fichier magic.mime situé normalement dans le dossier extras de votre installation de PHP
    5. Aussi, pour voici l'appel de la fonction finfo_open où il faut ajouter le chemin vers le fichier magic.mime sans le .mime!
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      finfo_open(FILEINFO_MIME, "C:\\PHP\\extras\\magic");
    6. En plus, j'ai utiliser le chemin complet pour accéder aux fichiers en plus d'utiliser des backslash \


    Ça devrait fonctionner maintenant à moins que j'ai oublié quelque chose.
    Vous n'aurez donc pas à vous casser la tête comme moi!

  4. #4
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    Un truc tout bête pour l'envoi des mail qu'il n'y a pas dans la FAQ et que j'ai découvert récemment. C'est de specifier un nom d'expediteur.

    A la question "Comment envoyer un mail" ?
    La ligne à mettre à jour 2 fois (car elle apparait dans format texte et html) est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $headers .= 'From: "Nom_de_expediteur"<'.$expediteur.'>'."\n";
    J'ai découvert ça sur :
    http://www.vulgarisation-informatique.com/mail.php
    Voila voila,


    ++
    ShinJava

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Tu as parfaitement raison, d'ailleurs ça fonctionne également avec le destinataire


  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 53
    Points : 44
    Points
    44
    Par défaut Supprimer le javascript d'un texte
    Une fonction qui retire le javascript d'un texte (utile en complément de strip_tags). Celà dit, faites-le moi savoir si elle à des failles, histoire que je corrige.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php 
       function strip_js($content) { 
          $content = preg_replace("#<script(.*)>(.*)</script>#Uis","",$content); 
          return $content; 
       } 
    ?>
    Citation Envoyé par Eusebius
    Un complément de réponse à la question "pourquoi mon code PHP n'est pas interprété ?"
    De plus, il semblerait que php6 n'accepte plus les tags asp (tout en continuant à garder l'options des tags courts). Faut attendre qu'il sorte pour confirmer, mais c'était dans le phpsolution de...ze sais plus quand.

  7. #7
    Membre actif
    Avatar de maxime.ohayon
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 113
    Points : 226
    Points
    226
    Par défaut Protection du Code Sources en Php
    Il est possible de protéger son code sources php des petits malins qui pourraient le récupérer, la bibliothèque bcompiler vous aidera dans cette tache.

    Bcompiler fut crée à l'origine pour :
    1. Pour encoder un script complet dans une application PHP propriétaire
    2. Pour encoder des classes et/ou des fonctions dans une application PHP propriétaire
    3. Pour permettre d'utiliser des applications php-gtk sur des bureaux clients sans avoir besoin du fichier php.exe.
    4. Pour rendre faisable de convertir un code PHP en C
    Nous resterons que sur le premier but.
    Il faut activer l'extension php_bcompiler.dll sous windows ou telecharger, décompresser et recompiler php sous linux (explication ici : http://us2.php.net/manual/fr/ref.bcompiler.php )

    En réalité Bcompiler transforme votre code en ByteCode (similaire à Java ou C#) non lisable par un utilisateur mais seulement par php.

    Imaginons deux scripts hello.php et function.php
    hello.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    include "function.php";
    echo hello();
    ?>
    function.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    function hello()
    {
    return "hello";
    }
    ?>
    Tout d'abord il faut transformer le code en ByteCode.
    on crée un script transform.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $fh = fopen("hello.phb", "w");
    bcompiler_write_header($fh);
    bcompiler_write_file($fh, "hello.php");
    bcompiler_write_footer($fh);
    fclose($fh);
    ?>
    maintenant le fichier hello.phb correspond à notre script crypter, on fait de même pour function.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $fh = fopen("function.phb", "w");
    bcompiler_write_header($fh);
    bcompiler_write_file($fh, "function.php");
    bcompiler_write_footer($fh);
    fclose($fh);
    ?>
    Il faut maintenant appelé nos deux scripts cryptés à partir des scripts originaux, pour cela il faut modifier hello.php et function.php

    hello.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    include "hello.phb";
    ?>
    function.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    include "function.phb";
    ?>
    L'appel par include "mon_fichier_crypter.php" permet de décrypter les scripts.

    donc sur la page hello.php on verra hello.

    Il faut éviter de faire de multiple include de ficher crypter car cela ralentie considérablement l'execution des scripts, cependant il existe d'autre fonction de cette extension qui permettent ce genre d'opération (http://us2.php.net/manual/fr/ref.bcompiler.php).

    Bcompiler est une bonne façon de protéger son code mais il est possible ( dur dur ) de récuperer le code php mais sans les commentaires et dans un pseudo-code.

  8. #8
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Citation Envoyé par maxime.ohayon
    Il est possible de protéger son code sources php des petits malins qui pourraient le récupérer, la bibliothèque bcompiler vous aidera dans cette tache.
    Je vois pas trop l'intérêt : un code source PHP, n'est jamais visible des petits malins qui veulent le voir. Tout ce qu'il peuvent voir c'est le HTML généré.

    Et si la on parle des petits malins qui vont directement sur le serveur FTP voir les fichiers php (et donc avoir la source du fichier php), ça sert limite à rien de crypter ça parce que si ils ont accès au FTP, c'est bien plus grave que ça.

    Ou alors j'ai loupé un épisode.

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Il s'agit de code PHP uploadé sur un serveur et pour un client. Parfois, tu peux souhaiter protéger ton code afin que le client ne puisse pas le lire. Cela dépend du contrat que tu as avec le client.

  10. #10
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Citation Envoyé par Yogui
    Il s'agit de code PHP uploadé sur un serveur et pour un client. Parfois, tu peux souhaiter protéger ton code afin que le client ne puisse pas le lire. Cela dépend du contrat que tu as avec le client.
    Hmmm ... mais bon si bcompiler sait lire le phB pour en faire un php à la volée et donc que le serveur puisse faire sa page HTML, on doit pouvoir retrouver le code php à partir d'un phb non ?

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Renseigne-toi sur la compilation, décompilation et tout cela avant de dire des bêtises

  12. #12
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Il y a une petite erreur dans la faq

    Sommaire > Variables > Comment savoir si une variable contient une valeur non nulle ?

    Dans les codes d'exemples :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $var = TRUE;
    if(empty($var))
    {
      echo "FALSE"; //Affiche FALSE car la valeur TRUE n'est pas considérée comme vide
    }
     
    $var = 1;
    if(empty($var))
    {
      echo "FALSE"; //Affiche FALSE car empty() renverrait TRUE uniquement si $var = 0
    }
    ça n'affichera rien puisque le if ne passera pas

  13. #13
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut


    Je suppsoe que tu as essayé ? Peux-tu essayer de nouveau ?

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yogui


    Je suppsoe que tu as essayé ? Peux-tu essayer de nouveau ?
    Ca n'affichera rien en effet, d'autant plus que les "echo FALSE", c'est pas très explicite.

  15. #15
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Ah tiens oui, cela n'affichera en effet rien.
    Echo false n'est pas très explicite, c'est bien vrai... Je corrigerai cela dès que possible.

  16. #16
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    Bonjour,
    Il y a une petite faute dans la Faq PHP au chapitre 18.1 :
    Types > Chaînes de caractères > Comment couper une chaîne de caractères trop longue ?

    Voici le code en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //$str est la chaîne de caractères et $nb le nombre de caractères maximum à afficher.
    function tronque($str, $nb = 150) 
    {
        // Si le nombre de caractères présents dans la chaine est supérieur au nombre 
        // maximum, alors on découpe la chaine au nombre de caractères 
        if (strlen($str) > $nb) 
        {
            $str = substr($str, 0, $nb);
            $position_espace = strrpos($str, " "); //on récupère l'emplacement du dernier espace dans la chaine, pour ne pas découper un mot.
            $texte = substr($str, 0, $position_espace);  //on redécoupe à la fin du dernier mot
            $str = $str."..."; //puis on rajoute des ...
        }
        return $str; //on retourne la variable modifiée
    }
    La variable $texte n'est jamais reutilisée, du coup la fonction ne redécoupera pas forcement à la fin d'un dernier mot.
    De plus, on pourrait très bien fusionner les 2 dernières lignes. Mais j'imagine que la dernière ligne est là pour bien expliquer à ceux qui ne sont pas encore à l'aise avec le PHP qu'on met les 3 petits point à la fin.
    Donc à la place de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            $texte = substr($str, 0, $position_espace);  //on redécoupe à la fin du dernier mot
            $str = $str."..."; //puis on rajoute des ...
    On peut mettre : (correction du code originel)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            $str = substr($str, 0, $position_espace);  //on redécoupe à la fin du dernier mot
            $str = $str."..."; //puis on rajoute des ...
    Ou : (petite optimisation)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            $str = substr($str, 0, $position_espace).'...';  //on redécoupe à la fin du dernier mot et on ajoute des ...
    A vous de choisir ou à modifier si j'ai oublié quelque chose

    Voila voila,
    Bonne journée

    ++
    ShinJava

  17. #17
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    @ShinJava : En effet, merci

  18. #18
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut Doctrine méthodes, obsolètes
    Bonjour,

    Je viens de me mettre à Doctrine, et j'en ai profité pour consulter la FAQ histoire de confirmé si j'avais compris la documentation correctement après l'avoir lu entièrement et peut-être même découvrir des petits trucs.
    Je me suis aperçu que les méthodes utilisées dans la FAQ, sont obsolète, enfin au moins une, voir plus je ne me souviens plus lesquelles j'ai testé, en tout cas la méthode export() de la classe Doctrine dans la FAQ n'est plus d'actualité aujourd'hui.

    http://php.developpez.com/faq/?page=doctrine

  19. #19
    Membre averti
    Profil pro
    Ingénieur en électronique
    Inscrit en
    Septembre 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 419
    Points : 333
    Points
    333
    Par défaut
    Lors de calculs on obtiens rarement un nombre entier , hors la plus part du temps on a besoin d'un nombre entier pour stocker dans la base de donnée .

    S'est pour cela qu'existe :floor() , ceil(), round()

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $nb=1.559243;  
    $nb1=floor($nb);//Arrondit à l'entier inférieur 1
    $nb2=ceil($nb);//Arrondit au nombre supérieur 2
    $nb3=round($nb);//Arrondi un nombre à virgule flottante 2
    round Peux aussi arrondir au centième prés.


    --------------------------------------------

    Comment ne pas avoir de résultat négatif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result=min(0,$result);
    Il existe aussi max , qui permet de ne pas aller stocker des chiffres trop grand.

    ( Le premier exemple , je le cherchais , j'avais oublier round , donc j'ai chercher sans succès dans le FAQ)


    EDIT : Merci Fladnag , je ne l'avais pas vu .

  20. #20
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Citation Envoyé par paterson Voir le message
    Lors de calculs on obtiens rarement un nombre entier , hors la plus part du temps on a besoin d'un nombre entier pour stocker dans la base de donnée .

    S'est pour cela qu'existe :floor() , ceil(), round()

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $nb=1.559243;  
    $nb1=floor($nb);//Arrondit à l'entier inférieur 1
    $nb2=ceil($nb);//Arrondit au nombre supérieur 2
    $nb3=round($nb);//Arrondi un nombre à virgule flottante 2
    round Peux aussi arrondir au centième prés.
    http://php.developpez.com/faq/index....mbres_arrondis

Discussions similaires

  1. Participez à la FAQ JDBC
    Par Mickael Baron dans le forum JDBC
    Réponses: 7
    Dernier message: 23/09/2013, 18h26
  2. Participez à la FAQ Struts
    Par Mickael Baron dans le forum Struts 1
    Réponses: 3
    Dernier message: 05/04/2007, 23h00
  3. [Participez à la FAQ !] La question de la semaine
    Par Giovanny Temgoua dans le forum Langage
    Réponses: 18
    Dernier message: 13/12/2005, 10h58
  4. Participez à la FAQ Java EE
    Par Mickael Baron dans le forum Java EE
    Réponses: 1
    Dernier message: 28/08/2003, 12h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo