p
u
b
l
i
c
i
t
é
publicité

Discussion: Participez à la FAQ

  1. #1
    Community Manager

    Avatar de Lana.Bauer
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    novembre 2012
    Messages
    5 323
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : novembre 2012
    Messages : 5 323
    Points : 11 058
    Points
    11 058

    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
    Vous avez envie de contribuer au sein du Club Developpez.com ?

    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, ...etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2004
    Messages
    13 725
    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 725
    Points : 29 892
    Points
    29 892

    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 chevronné
    Avatar de efficks
    Inscrit en
    septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 712
    Points : 769
    Points
    769

    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!
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  4. #4
    Membre éclairé Avatar de ShinJava
    Inscrit en
    septembre 2004
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 411
    Points : 314
    Points
    314

    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
    Petit débutant deviendra grand... débutant

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2004
    Messages
    13 725
    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 725
    Points : 29 892
    Points
    29 892

    Par défaut

    Tu as parfaitement raison, d'ailleurs ça fonctionne également avec le destinataire


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

    Informations forums :
    Inscription : octobre 2006
    Messages : 54
    Points : 27
    Points
    27

    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 confirmé
    Avatar de maxime.ohayon
    Profil pro
    Inscrit en
    mai 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : mai 2007
    Messages : 113
    Points : 223
    Points
    223

    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
    Expert Confirmé
    Avatar de Maxoo
    Profil pro
    Expert PHP
    Inscrit en
    novembre 2004
    Messages
    2 123
    Détails du profil
    Informations personnelles :
    Âge : 31
    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 123
    Points : 2 540
    Points
    2 540

    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.
    Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
    Mon espace Développez : mes Créations.


    Rencontre & Carte des Membres de Developpez.com, version 3.0

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2004
    Messages
    13 725
    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 725
    Points : 29 892
    Points
    29 892

    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
    Expert Confirmé
    Avatar de Maxoo
    Profil pro
    Expert PHP
    Inscrit en
    novembre 2004
    Messages
    2 123
    Détails du profil
    Informations personnelles :
    Âge : 31
    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 123
    Points : 2 540
    Points
    2 540

    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 ?
    Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
    Mon espace Développez : mes Créations.


    Rencontre & Carte des Membres de Developpez.com, version 3.0

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2004
    Messages
    13 725
    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 725
    Points : 29 892
    Points
    29 892

    Par défaut

    Renseigne-toi sur la compilation, décompilation et tout cela avant de dire des bêtises

  12. #12
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    janvier 2007
    Messages
    1 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 1 459
    Points : 2 262
    Points
    2 262

    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 725
    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 725
    Points : 29 892
    Points
    29 892

    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 725
    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 725
    Points : 29 892
    Points
    29 892

    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 éclairé Avatar de ShinJava
    Inscrit en
    septembre 2004
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 411
    Points : 314
    Points
    314

    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
    Petit débutant deviendra grand... débutant

  17. #17
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    février 2004
    Messages
    13 725
    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 725
    Points : 29 892
    Points
    29 892

    Par défaut

    @ShinJava : En effet, merci

  18. #18
    Membre éclairé 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 : 334
    Points
    334

    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 confirmé
    Profil pro
    Étudiant
    Inscrit en
    septembre 2004
    Messages
    394
    Détails du profil
    Informations personnelles :
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2004
    Messages : 394
    Points : 288
    Points
    288

    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 Expert

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

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2004
    Messages : 1 245
    Points : 1 505
    Points
    1 505

    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, 17h26
  2. Participez à la FAQ Struts
    Par Mickael Baron dans le forum Struts
    Réponses: 3
    Dernier message: 05/04/2007, 22h00
  3. [Participez à la FAQ !] La question de la semaine
    Par Giovanny Temgoua dans le forum Langage
    Réponses: 18
    Dernier message: 13/12/2005, 09h58
  4. Participez à la FAQ Java EE
    Par Mickael Baron dans le forum Java EE
    Réponses: 1
    Dernier message: 28/08/2003, 11h49

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