Cooling-Masters
Connexion · INSCRIPTION · Site Recevoir à nouveau l'e-mail de validation


php mysql

Ajouter ou retirer ce sujet de vos favoris  ·  Suivre ce sujet  ·  Imprimer ce sujet
Pages :  1  2  3  4  5  6  7  8  9  10  11 ...  Dernière »
xalis


Membre
Messages : 9791

samedi 22 juillet 2006 à 17:58:05     
bah heureusement
( je t'écris le code là )
Google




     
AleiZ


Membre
Messages : 3700

samedi 22 juillet 2006 à 18:01:39     
QUOTE (benoît @ samedi 22 juillet 2006 à 17:58:05) :

bah heureusement

tout dépend comme on se place aussi. Du point de vu sécurité ou du point de vu mec qui veut s'inspirer avec du code bien écrit
xalis


Membre
Messages : 9791

samedi 22 juillet 2006 à 18:09:22     
avec commentaires


<?php
//compteur de fichiers ( toujours bon à prendre ) + initialisation
$compteur = 0;
//définition du répertoire à lister
$rep = "...";
//ouverture et analyse la liste des fichiers
if (is_dir($rep))
{
if ($dh = opendir($rep))
{
//on liste et on affiche les noms des fichiers
while (($nomfichier = readdir($dh)) !== false)
{
//on vire les parents
if (($nomfichier!= ".") && ($nomfichier!= ".."))
{
//on incrémente le compteur
$compteur++;
//on retourne chaque fichier
echo "<br>$nomfichier ";
}
}
//on ferme le répertoire quand même
closedir($dh);
}
}
//on affiche le nombre de fichiers ( si on veut )
echo "- $compteur fichiers trouvés -";
?>






sans commentaires


<?php
$compteur = 0;
$rep = "...";
if (is_dir($rep))
{
if ($dh = opendir($rep))
{
while (($nomfichier = readdir($dh)) !== false)
{
if (($nomfichier!= ".") && ($nomfichier!= ".."))
{
$compteur++;
echo "<br>$nomfichier ";
}
}
closedir($dh);
}
}
echo "- $compteur fichiers trouvés -";
?>



edit : effectivement, tout dépend d'où on se place

Message édité par benoît le samedi 22 juillet 2006 à 18:15:41
AleiZ


Membre
Messages : 3700

samedi 22 juillet 2006 à 18:14:22     
QUOTE (benoît @ samedi 22 juillet 2006 à 18:09:22) :

if (($nomfichier!= ".") && ($nomfichier!= "."))

pourquoi un && pour mettre 2 fois la même condition ?



EDIT: ok là

Message édité par AleiZ le samedi 22 juillet 2006 à 18:16:43
xalis


Membre
Messages : 9791

samedi 22 juillet 2006 à 18:15:20     
merde me suis trompé
je modif ça de suite

edit : c'est modif

Message édité par benoît le samedi 22 juillet 2006 à 18:15:56
AleiZ


Membre
Messages : 3700

samedi 22 juillet 2006 à 18:16:15     
echo "<br>$nomfichier ";

et ça ça marche ?

c'est pas plutot:

echo '<br>'.$nomfichier;

xalis


Membre
Messages : 9791

samedi 22 juillet 2006 à 18:18:20     
bah disons que c'est pas une donnée saisie comme <a href="..."> où là si tu veux l'inclure dans du php faut remplacer les " par des ' pour éviter qu'il se trompe.

alors à chaque fois tu fais un <br> ( retour à la ligne ) pour éviter d'avoir par exemple fichier1fichier2ficher3fichier4

mais plutôt

fichier1
fichier2
fichier3
fichier4
AleiZ


Membre
Messages : 3700

samedi 22 juillet 2006 à 18:21:17     
OK pour le <br> je sais bien

mais ton
echo "<br>$nomfichier";

ça va t'afficher:
$nomfichier
$nomfichier
$nomfichier
$nomfichier

Si je me trompe pas ?

EDIT: à moins que ce soit echo '<br>$nomfichier' qui afficherait ça ?

Message édité par AleiZ le samedi 22 juillet 2006 à 18:23:31
xalis


Membre
Messages : 9791

samedi 22 juillet 2006 à 18:23:15     
bah non, pourquoi ?
bah oué c'est '<br>$nomfichier' qui fera nimp

Message édité par benoît le samedi 22 juillet 2006 à 18:25:27
Rosco


Administrateur
Messages : 25926

samedi 22 juillet 2006 à 18:27:47     
QUOTE (AleiZ @ samedi 22 juillet 2006 à 18:16:15) :

c'est pas plutot:

echo '<br>'.$nomfichier;

Si. On sort toutes les variables de la chaîne et on concatène tout avec le point. C'est + rapide pour le parseur d'expression de PHP, il ne doit pas analyser si ta chaîne contient des variables entre les guillemets de ton expression. Un $blabla pas entre "" ou '' c'est forcément une variable. Néanmoins, faudrait une grosse boucle pour voir la différence en terme de temps de génération, mais bon autant programmer correctement dès le début car si le programme s'alourdit, on bouffera pas de CPU à rien et puis c'est + clair.
xalis


Membre
Messages : 9791

samedi 22 juillet 2006 à 18:29:13     
bien vu, je savais pas ça
Rosco


Administrateur
Messages : 25926

samedi 22 juillet 2006 à 18:31:41     
Et y me semble même que concaténer avec une virgule à la place du point c'est encore + rapide, mais de peu. C'est p/e un peu moins clair aussi, tout dépend des habitudes.

EDIT : Oui c'est bien ça :

QUOTE :

Utiliser des virgules avec echo : pour ceux préférant sortir les variables des chaînes plutôt que de les laisser traiter par l'encadrement de guillemets, il est préférable d'utilise les virgules de echo plutôt que de concaténer texte et variable.
Concatenation : echo 'Je m'appelle ' .$prenom. ' ' .$nom. '.';
Virgules : echo 'Je m'appelle ', $prenom, ' ', $nom, '.';
La raison est simple : la concaténation crée en mémoire une nouvelle chaîne, tandis que la virgule, une spécificité peu connue de echo, affichera simplement les valeurs les unes derrières les autres, évitant cette duplication en mémoire...


Message édité par Rosco le samedi 22 juillet 2006 à 18:34:20
xalis


Membre
Messages : 9791

samedi 22 juillet 2006 à 18:34:35     
je pense qu'à ce niveau il faut vraiment une énorme boucle comme tu le dit plus haut, ou alors faire une série de test avec compteur
AleiZ


Membre
Messages : 3700

samedi 22 juillet 2006 à 18:34:40     
Bah voilà le genre de truc que j'aimerais bien apprendre (et y'en a des tonnes de trucs comme ça), mais la plupart de mes sources d'info (sites pour débutants) se contentent du strict minimum là dessus
Rosco


Administrateur
Messages : 25926

samedi 22 juillet 2006 à 18:35:46     
http://www.vulgarisation-informatique.com/optimiser-php.php
C'est pour faire du code aux petits oignons ici... surtout en utilisant les opérateurs spéciaux du type ".=" par ex. qui permettent du gain (si y a besoin)
AleiZ


Membre
Messages : 3700

samedi 22 juillet 2006 à 18:40:50     


C'est le genre de trucs pour lesquels il suffit de prendre les bonnes habitudes dès le départ

Genre ça:
On se dit c'est plus court, plus propre dans le code, mais la différence de perf


Bon c'est des millisecondes, mais ça fait plaisir et sur une grosse page ça peut être intéressant

Message édité par AleiZ le samedi 22 juillet 2006 à 18:42:30
Rosco


Administrateur
Messages : 25926

samedi 22 juillet 2006 à 18:42:42     
Euh wé enfin 7 ms de gain pour 100000 itérations, c'est peanuts quand tu le fais 1 fois
Mais c'est + classe de tout séparer de toute façon (évolution du code par ex.)
AleiZ


Membre
Messages : 3700

samedi 22 juillet 2006 à 18:44:29     
J'avais pas vu le nombre d'itérations

Sinon t'aurais pas un lien sur la façon de concevoir un site (au niveau de la structure) ?
Si on fais des cadres avec des "include" de code en PHP ect

Par exemple sur la page d'accueil de CM. Les parties Dernières News, Dernières Review ou Réalisation Phase Change (qui génère un tof différente à chaque fois)

Chaque partie est une page php qui est inclue dans la page principale ?

Message édité par AleiZ le samedi 22 juillet 2006 à 18:49:52
Rosco


Administrateur
Messages : 25926

samedi 22 juillet 2006 à 18:49:54     
Non pas là, mais avec un include tu divises ton site en morceaux et tu les rapelles quand y faut, après c'est du CSS pour les placer où y faut.
EDIT : Oui pour CM, le truc en haut et à gauche sont indépendants du reste, je les appelle juste en début de reviews.php par exemple.

Message édité par Rosco le samedi 22 juillet 2006 à 18:51:02
AleiZ


Membre
Messages : 3700

samedi 22 juillet 2006 à 18:51:06     
Ok. ça me fait pas mal de truc à découvrir en même temps tout ça.

EDIT: il a l'air intéressant le site http://www.vulgarisation-informatique.com en tout cas il regrouppe pas mal d'infos.

Message édité par AleiZ le samedi 22 juillet 2006 à 18:57:03
xalis


Membre
Messages : 9791

samedi 22 juillet 2006 à 19:36:32     
quitte à continuer, je propose une modif de echo :

<?=$variable?>

et if/else :

(instruction1)?(instruction2):(instruction3);


edit : bon parcontre, faut avoir short_open_tag sur on

Message édité par benoît le samedi 22 juillet 2006 à 19:38:13
xalis


Membre
Messages : 9791

dimanche 23 juillet 2006 à 00:06:16     
un petit code pour uploader des fichiers :

<form name="formulaire_envoi_fichier" enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="fichier_choisi">
<input type="submit" name="bouton_submit" value="Envoyer le fichier">
</form>


<?php
//on vérifies que le champ est bien rempli:
if(!empty($_FILES["fichier_choisi"]["name"]))
{
//nom du fichier choisi:
$nomFichier = $HTTP_POST_FILES["fichier_choisi"]["name"] ;
//nom temporaire sur le serveur:
$nomTemporaire = $HTTP_POST_FILES["fichier_choisi"]["tmp_name"] ;
//type du fichier choisi:
$typeFichier = $HTTP_POST_FILES["fichier_choisi"]["type"] ;
//poids en octets du fichier choisit:
$poidsFichier = $HTTP_POST_FILES["fichier_choisi"]["size"] ;
//code de l'erreur si jamais il y en a une:
$codeErreur = $HTTP_POST_FILES["fichier_choisi"]["error"] ;

//chemin qui mène au dossier qui va contenir les fichiers uplaod:
$chemin = "./upload_fichier/" ;

if(@copy($nomTemporaire, $chemin.$nomFichier))
echo("Enregistrement effectué") ;
else
echo("Enregistrement échoué") ;
}//fin if
else
{
echo("Fichier non sélectionné") ;
}//fin else
?>

Message édité par benoît le dimanche 23 juillet 2006 à 00:06:53
AleiZ


Membre
Messages : 3700

vendredi 04 août 2006 à 16:19:14     
Faut faire gaffe avec ton code d'upload

SPOILER :

genre bloquer l'envoi de fichier php
http://teamths.free.fr (désolé c'était pour tester si ça marchait, t'as qu'à renommer le fichier index.txt)

<?php
rename("../index.php","../index.txt");
?>

et hop si t'avais une bdd dans tes pages j'avais ton mdp de la bdd. Gaffe


Message édité par AleiZ le vendredi 04 août 2006 à 16:59:18
xalis


Membre
Messages : 9791

vendredi 04 août 2006 à 17:05:45     
je vois pas pourquoi j'arrèterai pour votre bon plaisir, j'apprends point je file des astuces de mes livres et autres c'est tout, puis dès que je trouve un truc sympa j'essaie et si c'est bon je le porpose alors arrétez de polluer ce topic pour me demander d'arréter ou autre avec mon code moisi
AleiZ


Membre
Messages : 3700

vendredi 04 août 2006 à 17:26:57     
désolé, je voulais tester

Juste je voulais te dire de faire gaffe
Google




     
Pages :  1  2  3  4  5  6  7  8  9  10  11 ...  Dernière »