Palleas_44
Messages postés130Date d'inscriptionlundi 12 décembre 2005StatutMembreDernière intervention19 avril 2009
-
7 août 2006 à 14:58
CString
Messages postés20Date d'inscriptionsamedi 18 septembre 2004StatutMembreDernière intervention19 avril 2007
-
4 sept. 2006 à 16:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
CString
Messages postés20Date d'inscriptionsamedi 18 septembre 2004StatutMembreDernière intervention19 avril 2007 4 sept. 2006 à 16:00
Ha tient j'avais pas vu celui la , j'ai posté casiment la même source que anthomicro ...
kurt67
Messages postés48Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention 4 avril 2007 22 août 2006 à 13:22
Ben dans le genre vous pouvez jetez un ptit coup d'oeil à ma source (oui je fait un peu de pub): http://zebigbrozer.free.fr/nav/ (il y a une démo et le zip)
Je l'avais aussi posté sur phpcs mais ce n'est pas la dernière version et quand j'essaye d'updater mon code il affichait un message d'erreur.
C'est aux normes xhtml1.0 strict et css et utilise le javascript et est largement paramétrable (il est justement possible de ne pas utiliser le javascript).
L'idée de base c'est d'avoir un navigateur expandable qui n'a pas besoin de se recharger (tout est chargé en une fois)
viking_force
Messages postés31Date d'inscriptionlundi 14 février 2005StatutMembreDernière intervention29 octobre 2008 22 août 2006 à 09:49
bonjour a tous......
aucune remarque a formulé (les autres l'on très bien fait)
je viens juste mettre mon grain de sel et proposer une autre technique, avec fonction recursive (pas dur) et affichage aux normes (normalement)
y'a p'tet deux ou trois trucs pas très catholique dans le code, mais en général il est plustot propre....
<?php
$num_folder = '1';
function ListFolder($Folder, $SkipFileExts, $SkipObjects) // Fonction pour lister les dossier
{
global $num_folder;
$dir = opendir($Folder);
while (false !($Current readdir($dir))) {// Boucle sur tout ce qu'il y a dans le répertoire
if ($Current !='.' && $Current != '..' && in_array($Current, $SkipObjects)===false) {
if(is_dir($Folder.'/'.$Current)) {// Si c'est un dossier
echo '
<li class="plus">[# '.$Current.']
';
$num_folder++;
ListFolder($Folder.'/'.$Current, $SkipFileExts, $SkipObjects); // On liste les dossiers contenue dans le dossier (récursivité)
echo '
</li>';
}else{
$FileExt = strtolower(substr(strrchr($Current ,'.'),1));
if (in_array($FileExt, $SkipFileExts)===false) { // On regarde si on dois afficher cette extension
echo '
<li class="folder">'.$Current.'</li>';
}
//c'est là que l'on reviens de la récursivité ou fichier a la racine
}
}
}
closedir($dir);
}
?>
<?php
$Folder = './';
$SkipExts = array('localized', 'ds_store'); //extension propre aux MAC
$SkipObjects = array('UnDossier', 'UnFichier');
ListFolder($Folder, $SkipExts, $SkipObjects);
?>
</html>
si ca peut aider......si y'a besoin d'explications.......
PS: le code n'est pas entièrement de moi, je me suis bcp inspirer de la création d'un menbre du site allhtml.com (me souviens plus qui...)
gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 20182 19 août 2006 à 02:00
Bonjour tout le monde,
Je suis en train de modifier cette version avec vos conseils. J'espere que cela sera beaucoup mieu ;-).
Vous pouvez toujours donner de bon conseil pour que cela devienne une source au "top" ;-)
Merci et A++
Gally
gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 20182 9 août 2006 à 12:09
Bonjour,
C'est au niveau des commentaires sa j'ai bien vu qu'il y en avait de très constructif et justement j'aissais de les analysés et de modifier mon code source.
Merci a tout ce qui on fait de bonne critiques,
A++
[Gally Home Corp]
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 9 août 2006 à 09:06
Gally => tu ferais mieux de faire plus attention aux commentaires qu'aux notes. Tu en as eu de constructifs : Kankrelune n'a pas lésiné sur les explications et Anthomicro t'a montré une autre façon de faire, plus correcte.
Après, les notes sans commentaires...il y en aura toujours. Mais elles ne font pas avancer grand chose.
Je n'efface pas les deux 1/10 parce que j'attends que leurs auteurs se justifient (ce qu'ils ne manqueront pas de faire, j'en suis sûr, vu qui ils sont). Ils ont sans doute leurs raisons.
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 9 août 2006 à 02:52
En fait moi j'ais mis 5 mais visiblement quelqu'un a mis 1 d'où la moyennne... faudrait virer le 1... .. . ;o)
Quand aux conseils n'hésite pas à demander.... on ne peut pas deviner... .. . :o)
Il n'y a aucune raison d'abandoner le php... on à tous débutés un jour... .. . ;o)
@ tchaOo°
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 8 août 2006 à 23:59
Quoi on a pas été sympas ? :-(
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 8 août 2006 à 23:29
Faudra te faire aux discussions et aux notes des PHPistes, aucun rapport avec les VBistes.
Le style est nettement plus bourru mais c'est juste une question d'habitude, de bons gars serviables en fin de compte.
Persévère et tout ira pour le mieux.
gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 20182 8 août 2006 à 22:23
Bonjour,
Visiblement cette source n'a aucune raison d'être sur ce site, vu la note et les critiques, je vais donc faire une demande de suppression de celle-ci. Ce qui est très dommage c'est pour certain au lieu de faire de grosse critique il serait bon de donné des conseils.
Et je vais continuer mon chemin en vb, parce-ce que visiblement le PHP c'est pas pour moi.
@++
[Gally Home Corp]
gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 20182 7 août 2006 à 23:29
Salut a ce qui on repondu,
Je viens du vb et toute les critiques constructives qui pourront me faire evoluer en php dont les bien venu. franchement desole si la premiere versont il y a beausoup de chose a dire. c'est la sessus que je compter pour avoir par la suite une version "super" pour tout le monde.
Sinon si vous regarder sur CS je suis un tres bon bosseur en VB et je me met en php et j'espere que avec vos conseil j'evolurer aussi dans le bon sens en php
merci encore
A++
Gally
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 7 août 2006 à 23:18
PS : désolé pour l'indentation...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 7 août 2006 à 23:17
Salut,
j'ai fait un petit code qui me servait à lister les fichiers rapidement d'un site web (qui avait des failles en général m'enfin passons XD) :
if($fichier!=='.' AND $fichier!=='..' AND ($extension==='.php' OR $extension==='.txt' OR $extension==='.html' OR $extension==='.htm'))
{
if(is_file($dossier.'/'.$fichier))
{
echo '------------------------------
fichier : ',$dossier,'/',$fichier,'
';
}
}
elseif($fichier! =='.' AND $fichier!=='..' AND is_dir($dossier.'/'.$fichier))
{
echo 'DOSSIER : ',$dossier,'/',$fichier,'
';
lire_dossier($dossier.'/'.$fichier);
}
}
}
lire_dossier('/');
?>
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 7 août 2006 à 20:05
Un peu tout... .. .
Il faut mettre le attributs en minuscules et non en majuscules... la valeur des attributs doit etre entre doubles quotes et non entre simples quotes... préfère les css plutot que des attributs html pour la mise en forme... la balise font est dépréciées (utilise les css)... .. .
Je rajouterais...
- il serait mieux de mettre ça en fonction afin de pouvoir l'utiliser dans différentes conditions
- tu ne teste pas ni l'existance du fichier cible (pas important dans ce cas d'utilisation mais ça peut l'etre) ni la réussite (ou non) de l'ouverture du dossier cible
- tu fais des tas de strtoupper, strtolower, strlen, strpos alors qu'un seul pourrait suffire (le résultat servant plusieurs fois) dans la plupart des cas
- remplacer
while($REP_FILE = readdir($REP_LIST))
par
while(false !($REP_FILE readdir($REP_LIST)))
- ton switch pour le type de fichier est totalement inutile
- tu fais des echo à la pelle là ou un seul suffirait... utilise les simples quotes pour entoure la chaine de caractères à afficher vu que tu concatène tes variables... .. .
Voila ce qui me vient à l'esprit (j'en ais peut être loupé)... une amélioration interessante serait de gérer (en option) la récursivitée... et éventuellement d'affficher le nom des fichiers/répertoire sous forme de lien pointant ces derniers... .. .
Je met 5/10... .. .
@ tchaOo°
gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 20182 7 août 2006 à 16:49
Bonjour Palleas_44,
Peu tu me dire ce ke tu ne trouve Sale et pas beau au niveau de l'HTML?
A++
Palleas_44
Messages postés130Date d'inscriptionlundi 12 décembre 2005StatutMembreDernière intervention19 avril 2009 7 août 2006 à 14:58
J'ai peur de lire serieusement ce morceau de code, c'est sale :s double quote au lieu de simple, HTML pas bô etc... j'ai pas mis de note, j'attend de voir ^_^
4 sept. 2006 à 16:00
22 août 2006 à 13:22
Je l'avais aussi posté sur phpcs mais ce n'est pas la dernière version et quand j'essaye d'updater mon code il affichait un message d'erreur.
C'est aux normes xhtml1.0 strict et css et utilise le javascript et est largement paramétrable (il est justement possible de ne pas utiliser le javascript).
L'idée de base c'est d'avoir un navigateur expandable qui n'a pas besoin de se recharger (tout est chargé en une fois)
22 août 2006 à 09:49
aucune remarque a formulé (les autres l'on très bien fait)
je viens juste mettre mon grain de sel et proposer une autre technique, avec fonction recursive (pas dur) et affichage aux normes (normalement)
y'a p'tet deux ou trois trucs pas très catholique dans le code, mais en général il est plustot propre....
<?php
$num_folder = '1';
function ListFolder($Folder, $SkipFileExts, $SkipObjects) // Fonction pour lister les dossier
{
global $num_folder;
$dir = opendir($Folder);
while (false !($Current readdir($dir))) {// Boucle sur tout ce qu'il y a dans le répertoire
if ($Current !='.' && $Current != '..' && in_array($Current, $SkipObjects)===false) {
if(is_dir($Folder.'/'.$Current)) {// Si c'est un dossier
echo '
<li class="plus">[# '.$Current.']
';
$num_folder++;
ListFolder($Folder.'/'.$Current, $SkipFileExts, $SkipObjects); // On liste les dossiers contenue dans le dossier (récursivité)
echo '
</li>';
}else{
$FileExt = strtolower(substr(strrchr($Current ,'.'),1));
if (in_array($FileExt, $SkipFileExts)===false) { // On regarde si on dois afficher cette extension
echo '
<li class="folder">'.$Current.'</li>';
}
//c'est là que l'on reviens de la récursivité ou fichier a la racine
}
}
}
closedir($dir);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>:: Test</title>
<meta http-equiv="Content-Type" content="text/html; CHARSET=iso-8859-1" />
<style type="text/css">
img {
border: 0;
}
.plus {
list-style: url(./images/plus.gif);
}
.moin {
list-style: url(./images/moin.gif);
}
.folder {
list-style: url(./images/fichier.png);
}
</style>
<script type="text/javascript">
function ShowMenu(nomcouche) {
document.getElementById('Couche'+nomcouche).style.display=(document.getElementById('Couche'+nomcouche).style.display=='block')?'none':'block';
document.getElementById('Couche'+nomcouche).parentNode.className=(document.getElementById('Couche'+nomcouche).parentNode.className=='plus')?'moin':'plus';
}
</script>
</head>
<?php
$Folder = './';
$SkipExts = array('localized', 'ds_store'); //extension propre aux MAC
$SkipObjects = array('UnDossier', 'UnFichier');
ListFolder($Folder, $SkipExts, $SkipObjects);
?>
</html>
si ca peut aider......si y'a besoin d'explications.......
PS: le code n'est pas entièrement de moi, je me suis bcp inspirer de la création d'un menbre du site allhtml.com (me souviens plus qui...)
19 août 2006 à 02:00
Je suis en train de modifier cette version avec vos conseils. J'espere que cela sera beaucoup mieu ;-).
Vous pouvez toujours donner de bon conseil pour que cela devienne une source au "top" ;-)
Merci et A++
Gally
9 août 2006 à 12:09
C'est au niveau des commentaires sa j'ai bien vu qu'il y en avait de très constructif et justement j'aissais de les analysés et de modifier mon code source.
Merci a tout ce qui on fait de bonne critiques,
A++
[Gally Home Corp]
9 août 2006 à 09:06
Après, les notes sans commentaires...il y en aura toujours. Mais elles ne font pas avancer grand chose.
Je n'efface pas les deux 1/10 parce que j'attends que leurs auteurs se justifient (ce qu'ils ne manqueront pas de faire, j'en suis sûr, vu qui ils sont). Ils ont sans doute leurs raisons.
9 août 2006 à 02:52
Quand aux conseils n'hésite pas à demander.... on ne peut pas deviner... .. . :o)
Il n'y a aucune raison d'abandoner le php... on à tous débutés un jour... .. . ;o)
@ tchaOo°
8 août 2006 à 23:59
8 août 2006 à 23:29
Le style est nettement plus bourru mais c'est juste une question d'habitude, de bons gars serviables en fin de compte.
Persévère et tout ira pour le mieux.
8 août 2006 à 22:23
Visiblement cette source n'a aucune raison d'être sur ce site, vu la note et les critiques, je vais donc faire une demande de suppression de celle-ci. Ce qui est très dommage c'est pour certain au lieu de faire de grosse critique il serait bon de donné des conseils.
Et je vais continuer mon chemin en vb, parce-ce que visiblement le PHP c'est pas pour moi.
@++
[Gally Home Corp]
7 août 2006 à 23:29
Je viens du vb et toute les critiques constructives qui pourront me faire evoluer en php dont les bien venu. franchement desole si la premiere versont il y a beausoup de chose a dire. c'est la sessus que je compter pour avoir par la suite une version "super" pour tout le monde.
Sinon si vous regarder sur CS je suis un tres bon bosseur en VB et je me met en php et j'espere que avec vos conseil j'evolurer aussi dans le bon sens en php
merci encore
A++
Gally
7 août 2006 à 23:18
7 août 2006 à 23:17
j'ai fait un petit code qui me servait à lister les fichiers rapidement d'un site web (qui avait des failles en général m'enfin passons XD) :
<style>
code{
display:block;
width:900px;
overflow:auto;
}
</style>
<?php
function lire_dossier($dossier= '../..')
{
$dossier2=opendir($dossier);
while(($fichier=readdir($dossier2))!==FALSE)
{
$extension=strrchr($dossier.'/'.$fichier,'.');
if($fichier!=='.' AND $fichier!=='..' AND ($extension==='.php' OR $extension==='.txt' OR $extension==='.html' OR $extension==='.htm'))
{
if(is_file($dossier.'/'.$fichier))
{
echo '------------------------------
fichier : ',$dossier,'/',$fichier,'
';
}
}
elseif($fichier! =='.' AND $fichier!=='..' AND is_dir($dossier.'/'.$fichier))
{
echo 'DOSSIER : ',$dossier,'/',$fichier,'
';
lire_dossier($dossier.'/'.$fichier);
}
}
}
lire_dossier('/');
?>
7 août 2006 à 20:05
Il faut mettre le attributs en minuscules et non en majuscules... la valeur des attributs doit etre entre doubles quotes et non entre simples quotes... préfère les css plutot que des attributs html pour la mise en forme... la balise font est dépréciées (utilise les css)... .. .
Je rajouterais...
- il serait mieux de mettre ça en fonction afin de pouvoir l'utiliser dans différentes conditions
- tu ne teste pas ni l'existance du fichier cible (pas important dans ce cas d'utilisation mais ça peut l'etre) ni la réussite (ou non) de l'ouverture du dossier cible
- tu fais des tas de strtoupper, strtolower, strlen, strpos alors qu'un seul pourrait suffire (le résultat servant plusieurs fois) dans la plupart des cas
- remplacer
while($REP_FILE = readdir($REP_LIST))
par
while(false !($REP_FILE readdir($REP_LIST)))
- ton switch pour le type de fichier est totalement inutile
- tu fais des echo à la pelle là ou un seul suffirait... utilise les simples quotes pour entoure la chaine de caractères à afficher vu que tu concatène tes variables... .. .
- dans les lignes :
$LNGK = strpos($REP_FILE, '.');
$LNGK = strlen($REP_FILE)-$LNGK;
if ($LNGK > 0 && $LNGK < strlen($REP_FILE)){
$REP_TYPE = strtoupper(substr($REP_FILE,strlen($REP_FILE)-($LNGK-1),($LNGK-1)));
}else{
$LNGK = 0;
$REP_TYPE = '???';
}
tu fais comment si le strpos ne trouve pas le point et renvoi false... et tu fais comment si le fichier s'appel, par exemple, pwet.test.php ?
$LNGK = strrpos($REP_FILE, '.');
if($LNGK !== false)
$REP_TYPE = strtoupper(substr($REP_TYPE,$LNGK+1));
else
{
$LNGK = 0;
$REP_TYPE = '???';
}
Voila ce qui me vient à l'esprit (j'en ais peut être loupé)... une amélioration interessante serait de gérer (en option) la récursivitée... et éventuellement d'affficher le nom des fichiers/répertoire sous forme de lien pointant ces derniers... .. .
Je met 5/10... .. .
@ tchaOo°
7 août 2006 à 16:49
Peu tu me dire ce ke tu ne trouve Sale et pas beau au niveau de l'HTML?
A++
7 août 2006 à 14:58