Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, FAQ, sources, etc. pour PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/06/2006, 17h31   #1
RideKick
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 13 031
Points : 13 031
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 :

Citation:
Question ? (Version: XXX)

Réponse à la question

Code :
agrémentée d'un bout de code le cas échéant
Pour plus d'information, veuillez me contacter.

pour votre future participation
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2006, 21h25   #2
Yogui
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 722
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 722
Points : 28 861
Points : 28 861
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.

__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 06h43   #3
efficks
Membre chevronné
 
Avatar de efficks
 
Inscription : septembre 2005
Messages : 714
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 714
Points : 697
Points : 697
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 :
    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 :
    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
efficks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 09h08   #4
ShinJava
Membre confirmé
 
Avatar de ShinJava
 
Inscription : septembre 2004
Messages : 411
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 411
Points : 288
Points : 288
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 :
$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
ShinJava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2007, 19h15   #5
Yogui
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 722
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 722
Points : 28 861
Points : 28 861
Tu as parfaitement raison, d'ailleurs ça fonctionne également avec le destinataire

__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 16h15   #6
arcanis
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 54
Détails du profil
Informations personnelles :
Âge : 21
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 :
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.
arcanis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 09h42   #7
maxime.ohayon
Membre confirmé
 
Avatar de maxime.ohayon
 
Inscription : mai 2007
Messages : 113
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mai 2007
Messages : 113
Points : 215
Points : 215
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 :
1
2
3
4
<?php
include "function.php";
echo hello();
?>
function.php
Code :
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 :
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 :
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 :
1
2
3
<?php
include "hello.phb";
?>
function.php
Code :
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.
maxime.ohayon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 10h34   #8
Maxoo
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 123
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 29
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 704
Points : 2 704
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
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 10h41   #9
Yogui
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 722
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 722
Points : 28 861
Points : 28 861
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.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 10h46   #10
Maxoo
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 123
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 29
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 704
Points : 2 704
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
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 10h53   #11
Yogui
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 722
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 722
Points : 28 861
Points : 28 861
Renseigne-toi sur la compilation, décompilation et tout cela avant de dire des bêtises
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 09h46   #12
Seb33300
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 428
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 27
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : janvier 2007
Messages : 1 428
Points : 1 913
Points : 1 913
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 :
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
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 10h50   #13
Yogui
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 722
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 722
Points : 28 861
Points : 28 861


Je suppsoe que tu as essayé ? Peux-tu essayer de nouveau ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 11h23   #14
Symlink
Rédacteur
 
Homme Jean-Pierre
Inscription : août 2005
Messages : 333
Détails du profil
Informations personnelles :
Nom : Homme Jean-Pierre
Localisation : Suisse

Informations forums :
Inscription : août 2005
Messages : 333
Points : 603
Points : 603
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.
Symlink est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 11h49   #15
Yogui
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 722
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 722
Points : 28 861
Points : 28 861
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.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 11h20   #16
ShinJava
Membre confirmé
 
Avatar de ShinJava
 
Inscription : septembre 2004
Messages : 411
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 411
Points : 288
Points : 288
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 :
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 :
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 :
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 :
        $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
ShinJava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 11h21   #17
Yogui
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 722
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 722
Points : 28 861
Points : 28 861
@ShinJava : En effet, merci
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 14h43   #18
alceste
Membre éclairé
 
Avatar de alceste
 
Inscription : 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 : 320
Points : 320
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
alceste est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 21h59   #19
paterson
Membre confirmé
 
Matthieu
Étudiant
Inscription : septembre 2004
Messages : 393
Détails du profil
Informations personnelles :
Nom : Matthieu
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 393
Points : 295
Points : 295
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 :
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 :
$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 .
paterson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2008, 09h48   #20
Fladnag
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 241
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 241
Points : 1 426
Points : 1 426
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 :
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
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h31.


 
 
 
 
Partenaires

Hébergement Web