kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015
-
4 mai 2007 à 12:34
braxivamov
Messages postés22Date d'inscriptionmercredi 10 janvier 2007StatutMembreDernière intervention11 août 2009
-
16 mai 2007 à 08:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
braxivamov
Messages postés22Date d'inscriptionmercredi 10 janvier 2007StatutMembreDernière intervention11 août 2009 16 mai 2007 à 08:50
Je suis desole avec l'indentation et la largeur du cadre le code est relativement lourd a lire ...
braxivamov
Messages postés22Date d'inscriptionmercredi 10 janvier 2007StatutMembreDernière intervention11 août 2009 9 mai 2007 à 08:43
Merci a vous deux vos conseils vont m'être très utiles. Juste une petite note je suis dans le dev de cette page donc pour les erreurs par exemple je fais des affichages et je n'arrete pas le code pour mieux voir ce qui se passe mais ce genre de choses comme la verification du nom de fichier je les fait apres ( c'est surement un defaut j'avoue ), comme j'ajouterais un controle sur la taille du fichier etc ...
DiGhan
Messages postés239Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention 3 juin 20101 5 mai 2007 à 23:48
Hello,
pour l'adresse mail, il est préférable de tester si le 1er caractère est bien un caractère alphanum.
Si cette vérification n'est pas faite, ton masque matchera les adresses de ce type:_____@------.com.
Dans le masque suivant, il n'y a que les adresses classiques qui sont acceptés.
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 4 mai 2007 à 17:18
@ KIKI2sirom... tu le dis toi même tu ne connais pas les regexp parce que tu ne les utilise pas... après effectivement j'ai peut être été vite à juger... la source peut valoir le niveau d'initié... bref... je n'ai pas le temps de regarder en détail mais une chose me fait bondir... il n'y a aucun contrôle du type de fichier uploadé qui plus est lors de la gestion des erreurs tu ne fais qu'afficher l'erreur tu ne shunte pas le reste du code ni n'arrête l'exécution du script ce qui peut être problématique voir dangereux... pareil au niveau de ton utilisation de exec(), je ne connais pas énormément l'exécution de commande via php mais une chose est sûr si tu ne fais aucun traitement sur le nom du fichier avant de l'inclure dans ta commande tu risque de tomber sur un petit malin qui fera exécuter à ton serveur des commandes arbitraires... .. .
Sinon coté syntaxe du peu que j'ai vu il serait bien d'utiliser les simples quotes et la concaténation plutôt que les doubles quotes... pour tes boucles for() à partir du moment où ton tableau ou ta chaine n'est pas modifié en cour de boucle fais ton sizeof ou ton count à l'initialisation de ta boucle... pas dans l'instruction de contrôle... et préfère également la préincrémentation pour la dernière instruction... exemple...
for ($i=0,$max=count($monTableau); $i<=$max; ++$i)
Les expressions régulières c'est bien... en abuser ça craint... .. .
tu ne réutilise $taille nul part en dehors du switch... inutile d'encombrer la mémoire serveur pour rien...
$testN=true;
switch (sizeof($res)) {
d'ailleurs utilise plutôt les fonctions originale plutôt que leur alias... tu y gagne en rapidité et tu est plus sur de la compatibilité de ton code vis a vis des futures versions de php... donc...
$testN=true;
switch (count($res)) {
utilise des comparaisons typées... tu y gagne en perf et tu est sur du contenu de ta variable...
braxivamov
Messages postés22Date d'inscriptionmercredi 10 janvier 2007StatutMembreDernière intervention11 août 2009 4 mai 2007 à 14:44
Je suis egalement d'accord avec toi, certaines pcre utilisees ici ne sont - a mon humble avis - pas realisablent par un debutant. Mais en tant que nouveau sur le site je me rallie a l'avis d'un "ancien".
A part ca si vous pouviez me faire des suggestions qui me ferait avancer dans l'amelioration de mon code (structure, construction des regexp, proprete (surtout le passage $j=3 du code postal) ) ce serait top ^^
kiki2sirom
Messages postés153Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention23 décembre 2010 4 mai 2007 à 14:24
@Kankrelune
ok alors dsl pour le dernier post mais je ne suis pas tout à fait d'accord avec toi : je n'y connais rien aux regexp (en fait je ne les utilise jamais, mais je devrais sûrement dans certains cas), et pour m'y mettre je ne pense pas que j'essaierai avec ce code.
je pense qu'il faut être "initié" aux regexp un minimum pour pouvoir le commenter
m'enfin c'est mon avis !!! après ce que j'en dis .... ;-)
kiki
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 4 mai 2007 à 12:35
Ah au fait... initié ne se justifie pas pour le niveau de cette source tu ne fais qu'utiliser des expressions régulières... c'est niveau débutant... .. .
@ tchaOo°
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 4 mai 2007 à 12:34
Si tu pouvais mettre le code dans le champ prévu à cet effet et non dans la description du code... et profites en pour indenter ton code... merci... .. .
16 mai 2007 à 08:50
9 mai 2007 à 08:43
5 mai 2007 à 23:48
pour l'adresse mail, il est préférable de tester si le 1er caractère est bien un caractère alphanum.
Si cette vérification n'est pas faite, ton masque matchera les adresses de ce type:_____@------.com.
Dans le masque suivant, il n'y a que les adresses classiques qui sont acceptés.
'#[a-z0-9]([-_.]?[a-z0-9])+@[a-z0-9]([-_.]?[a-z0-9])+\.[a-z]{3,5}#i'
Bonne chance.
4 mai 2007 à 17:18
un peu de lecture...
http://fr2.php.net/manual/fr/function.escapeshellarg.php
http://fr2.php.net/manual/fr/function.escapeshellcmd.php
Sinon coté syntaxe du peu que j'ai vu il serait bien d'utiliser les simples quotes et la concaténation plutôt que les doubles quotes... pour tes boucles for() à partir du moment où ton tableau ou ta chaine n'est pas modifié en cour de boucle fais ton sizeof ou ton count à l'initialisation de ta boucle... pas dans l'instruction de contrôle... et préfère également la préincrémentation pour la dernière instruction... exemple...
for ($i=0,$max=count($monTableau); $i<=$max; ++$i)
Les expressions régulières c'est bien... en abuser ça craint... .. .
$telPort = "#$telPort#s";
$buffer preg_replace("$telPort", " ", trim($buffer));
>
$buffer = str_replace($telPort, ' ', trim($buffer));
-------------
$buffer = preg_replace('#([[:space:]][[:space:]]+)#s', ' ', trim($buffer));
$buffer preg_replace('#[|]#s', ' ', trim($buffer));
>
$buffer = preg_replace(
array(
'#([[:space:]][[:space:]]+)#s',
'#[|]#s'
),
' ',
trim($buffer)
);
---------------------
$taille = sizeof($res);
$testN=true;
switch ($taille) {
tu ne réutilise $taille nul part en dehors du switch... inutile d'encombrer la mémoire serveur pour rien...
$testN=true;
switch (sizeof($res)) {
d'ailleurs utilise plutôt les fonctions originale plutôt que leur alias... tu y gagne en rapidité et tu est plus sur de la compatibilité de ton code vis a vis des futures versions de php... donc...
$testN=true;
switch (count($res)) {
utilise des comparaisons typées... tu y gagne en perf et tu est sur du contenu de ta variable...
while (!feof($handle))
===>
while (feof($handle) === false)
-----
if($handle fopen("temp.txt", "rb")) {
>
if(false !($handle fopen('temp.txt', 'rb'))) {
---
if(preg_match('#...#',$buffer,$out) && $testC false) {
>
if(preg_match('#...#',$buffer,$out) !0 && $testC false) {
Voili voilou dans un premier temps... .. .
@ tchaOo°
4 mai 2007 à 14:44
A part ca si vous pouviez me faire des suggestions qui me ferait avancer dans l'amelioration de mon code (structure, construction des regexp, proprete (surtout le passage $j=3 du code postal) ) ce serait top ^^
4 mai 2007 à 14:24
ok alors dsl pour le dernier post mais je ne suis pas tout à fait d'accord avec toi : je n'y connais rien aux regexp (en fait je ne les utilise jamais, mais je devrais sûrement dans certains cas), et pour m'y mettre je ne pense pas que j'essaierai avec ce code.
je pense qu'il faut être "initié" aux regexp un minimum pour pouvoir le commenter
m'enfin c'est mon avis !!! après ce que j'en dis .... ;-)
kiki
4 mai 2007 à 12:35
@ tchaOo°
4 mai 2007 à 12:34
@ tchaOo°