LISTAGE DE FICHIERS

ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011 - 19 juil. 2010 à 18:31
cs_keke21410 Messages postés 8 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 11 septembre 2010 - 11 sept. 2010 à 18:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52035-listage-de-fichiers

cs_keke21410 Messages postés 8 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 11 septembre 2010
11 sept. 2010 à 18:36
tu devrais supprimer des fichiers/dossier de ckeditor, je l'utilise pour une utilisation perso, et sampl, source etc... sont à supprimer !

Si tu veux je peux te dire ce que j'ai gardé, chez moi tout marche.
spacedelta Messages postés 107 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 20 novembre 2011
11 sept. 2010 à 15:18
Finalement plus besoin ! j'ai laissé. Ce que j'ai fait je l'ai tout simplement renommer en infos que ceci les gens peuvent lire ! Lorsque j'envoie un fichier par le script je supprime le logs.txt. J'ai is un .htaccess avec "ErrorDocument 404 /repertoire/404.php" Comme ceci dans le fichier php j'ai mis une ligne avec dedans marqué "Démarrage du téléchargement"
Mon exemple :
http://sitedenicolas.free.fr/fichiers/
bon j'ai un peu modifié le fond et rajouté un lien en haut mais sinon c'est toujours le script original ^^
cs_keke21410 Messages postés 8 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 11 septembre 2010
11 sept. 2010 à 15:06
un conseil apprend le php, t'auras moins de difficultés.
spacedelta Messages postés 107 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 20 novembre 2011
11 sept. 2010 à 12:47
"if($file!="logs.txt") { echo de mes fichiers }"
euh
je suis super nul en php ^^ mais...
<?php echo "logs.txt" ?> ? nan ? c'est pas ça ?
et if($file!="logs.txt") { echo de mes fichiers }" dans quelle ligne ?
Sinon cette version est parfaite ^^ c'est juste pour un espace de téléchargements donc je pense quelle est
déjà bien ^^ Si après les gens peuvent modifier du texte type html du site ça va pas le faire ^^
Enfin si tu cherches un sources, voici un client ftp pas mal ou tu peux modifier tout les types d fichiers
texte ! essaies-le si tu veux, cela sera plus simple par la suite pour trouver le code pour modifier les fichiers.
http://www.phpcs.com/codes/PHP-WEB-MANAGER_51788.aspx
Et puis je trouve ton style carrément classe !
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
10 sept. 2010 à 20:18
Il de rajouter : if($file!="logs.txt") { echo de mes fichiers }
Pour ajouter des icones il suffit de mettre dans le dossier files ton fichiers *.png en le nommant de l'extension voulu : exe.png et hop magique !
Merci du compliment, à venir une mise à jour pour éditer les fichiers txt, html, js, css .. et renommer déplacer plus corrections de certains bugs.
spacedelta Messages postés 107 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 20 novembre 2011
10 sept. 2010 à 20:05
Mais bon javoue vachement cool !!
Mais...
...peut-on ajouter des icône pour certains fichiers comme pour les exécution ?
spacedelta Messages postés 107 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 20 novembre 2011
10 sept. 2010 à 20:04
Salut ! Existe-t-il une ligne pour cacher certains fichiers ? Comme les fichiers logs.
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
25 août 2010 à 23:44
Remplacer la ligne dans l'htaccess par :
RewriteRule ^(.+)\/$ index.php?dossier=$1 [L]
Et comme ça on personne ne pourra accéder au dossier sans passer par notre script...
ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011
3 août 2010 à 15:12
ok!je comprend.
tu sais @keke21410 la langue française est tellement bavarde que expression "en deux mots" s'écrit en trois mots,donc c normale que j'ai pu d'une part mal m'exprimer.
cs_keke21410 Messages postés 8 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 11 septembre 2010
3 août 2010 à 11:33
je connais le java, j'ai fait un peu de 2D l'an dernier, mais j'avais compris ta ^phrase dans un autre sens (je pensais que tu parlais des modifs js effectués sur la source)

Toutes mes excuses ;)
ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011
3 août 2010 à 11:25
Merci à tous!j'ai enfin pu le fare tourner! et je sais je ça me servira un jour.
@keke21410
beaucoup confondent le java et le JavaScript! j'ai parlé de java et non js car le js est un langage qui est compris et traité par les navigateurs en outre ce dernier est généralement écrit pour tourner au niveau du navigateur ou côté client si tu veux et pourtant le java lui a un champ d'action bien plu vaste et peux même être utilisé pour le programme d'un distributeur de billets de banque
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
2 août 2010 à 19:06
remplacez
$date = date("j-n-y")." ".date(G)."h".date(i);
par
$date = date("j-n-y")." ".date("G")."h".date("i");
et voilà !!
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
2 août 2010 à 19:04
Bonjour,
Pour le problème sous easyphp, il fallait seulement déclarer chaque variable POST avant de les utiliser ...
Mais au niveau du format de la date je n'ai pas encore trouvé.
Sinon il marche en local.
Cdt
cs_keke21410 Messages postés 8 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 11 septembre 2010
25 juil. 2010 à 10:55
Ngahadjo : c'est javascript et pas java, on abrège js
bj33 Messages postés 145 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 1 mai 2012
25 juil. 2010 à 06:26
@ ngahadjo

je n'ai fait que suggérer pas modifier, il faut faire le reste, corriger les erreurs, structurer le code pour y voir plus clair, gérer les erreurs, sécurisé et là non, je n'ai pas le temps, en tout cas pour l'instant. les erreurs sont dûes aux tests, c'est de ce côté qu'il faut chercher, initialiser les variables correctement et virer ces request qui embrouillent au profit des post/get correspondant.
ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011
25 juil. 2010 à 02:15
je suis moins pro en php qu'en java; pourrais tu stp jeromin75 tester réellement ce code sous easyphp et le publier si jamais ça fonctionne parce que avec toute les modifs apporté par BJ33 ça ne tourne toujours pas chez moi.
bj33 Messages postés 145 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 1 mai 2012
24 juil. 2010 à 19:45
salut

1/10 j'avoue, c'est dur mais rien n'est définitif et puis

session_start();
// pourquoi le déclarer plusieur fois, c'est toujours le même?
$pathtofile = 'files/';
$dossier = './';
// une constante peut être? tant qu'à le coder en dur même pour un test
$mdp = '13579';
$admin_mdp = '02468';
/* le js inseré comme çà, c'était bon en 2000 pas aujourd'hui un js séparé et appellé à la fin du body
* ce serait plus "normal", normalisé. d'ou l'importance double des id de balise formulaire, ils servent
* aux labels et à javascript. çà peut paraitre un détail mais çà ne l'ai pas sur le long terme et puis c'est valide
* . pour continuer avec les formulaires, sécurité, sécurité!!! fait gaffe, ton code est une passoire, une preuve
* dans rmdir.php
*
* rmdir($_REQUEST['dossier'].$_GET['file']);
*
* çà c'est suicidaire, tout est comme çà. alors!? débutant, ok mais quand même, c'est la première chose à considérer,
* à faire systématiquement. et puis perso, comme il se repete à l'identique pourquoi ne pas faire comme ci-dessous? après
* un simple echo au bon endroit, et çà roule. pour les débutant, c'est la syntaxe heredoc, cf php.net
*
* çà permet un seule appel à echo et on peut y inserer des variables sans concatenation ou échappement.
* et perso, je séparerais toute la logique formulaire, ce serait plus clair et plus facile à maintenir, include_once permet
* çà, tu sais. on s'abime moins les yeux à lire le code;) un fichier php formulaire, un autre qui valide. si depuis des lustres
* on code les formulaires de cette façon ce n'est pas par hasard.
*/
$form =
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
23 juil. 2010 à 17:57
Effectivement ..La notation de 1/10 est peut-être trop critique, pour un niveau débutant ce n'est pas si mauvais.
Donne au moins quelques explication que je puisse m'améliorer !
Merci
ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011
23 juil. 2010 à 17:27
pourquoi cette exclamation BJ33? tu as mieux à proposé!!!
bj33 Messages postés 145 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 1 mai 2012
22 juil. 2010 à 19:56
hé bé...
ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011
22 juil. 2010 à 00:10
ben je travaille toujours dessus et pour le moment voici les erreur que d'essais de remédier! effectivement concernant la faille je l'avais déjà colmaté depuis hier! peut tu s'il te plaire faire des test avec un serveur local quelconque et me faire part si jamais tu t'en sort avant moi!

Notice: Undefined index: nom in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 70

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 71

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 71

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 72

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 72

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 72

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 74

Notice: Undefined variable: folder_del in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 197
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
21 juil. 2010 à 20:43
Je viens de trouver une faille, il faut rajouter : && strpos($_GET['dossier'],"/..")===false)
ici:
if(isset($_GET['dossier']) &&($_GET['dossier']) && strpos($_GET['dossier'],"/..")===false){
$dossier = $_GET['dossier']."/";}
sinon n'importe qui pourra visiter tout le serveur entier, les fichiers n'étant pas visualisable, ils verront les noms...
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
20 juil. 2010 à 20:53
De base se code m'est destiné, je le partage car je pense qu'il peut être utile à tout le monde, désolé qu'il ne soit pas commenté ou plus "lisible"...
Pour les erreurs moi chez ovh je n'en ai aucune, évidemment je ne l'ai pas testé partout (à part chez free où à l'upload je trouve quelques bugs).
Les déclarations ont été faite au fur et à mesure je n'ai pas juger nécessaire de les déclarer au début.
Et pour finir je ne maîtrise pas encore voir pas du tout le PHP objet donc peut-être qu'un jour je le referai en objet ;) et évidemment le niveau mentionné est "débutant" donc on se s'étonne pas.
Bref toutes critiques est bonne à prendre, pour les prochain script je penserai à tout cela !
Merci
Ps: je le retouche encore et encore améliorant les fonctionnalité, faite de même et tenez moi au courant :)
ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011
20 juil. 2010 à 17:38
bien que ce soit pour HEVCRAFT un code de débutant je te rassure que ça fonctionne chez moi!à l'exception prés de ces erreurs qui apparaisses, je l'ai retouché en vain et testé avec tout les serveurs local possible, mais hélas! et pourtant ça pourrais bien me servir un jour dans une partie de mes API
cs_heycraft Messages postés 4 Date d'inscription mardi 20 juillet 2010 Statut Membre Dernière intervention 27 octobre 2010
20 juil. 2010 à 16:35
Bonjour Jéromin75.
Ce code fonctionne mais à plusieurs défauts !

Très dur a lire ! Comment veux tu qu'on le modifie ?
Le JavaScript peut(doit) être mieux utilisé...
Le code HTML n'est pas valide !
Très peu structuré ! Pense au PHP objet !
Tu déclares les variables pour les mots de passe après les premières lignes... pense a tout déclarer au début.

Bref, du code de débutant tout sa! ;)

Mais bien joué sinon
cs_keke21410 Messages postés 8 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 11 septembre 2010
20 juil. 2010 à 15:34
et de même avec <form> et les propriéts ENCTYPE :)
cs_keke21410 Messages postés 8 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 11 septembre 2010
20 juil. 2010 à 15:33
c'est possible que free l'oblige encore sous php 4 mais pas si on le règle avec php 5 enfin je suis dans le cas de php 5 ...

Je pensais à ton code, pourquoi ne pas écrire :

else if (file_exists("".$pathtofile."/".$ext.".png"))
{
?>

<?php $a++ }

Cela permet une meilleur coloration du code et c'est plus lisible, surtout si tu es avec un colorateur syntaxique, notepad++ met le contenu de '' en gris, donc toute une div en gris c'est peu lisible

La balise meta il me semblait que pour respecter les normes W3C il là fallait en minuscule ou je me trompe ?
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
20 juil. 2010 à 11:48
Sous free je me souviens avoir rencontré des problèmes à l'upload d'un fichier, (free les renommes et/ou empêche d'en mettre plus d'une...). Tant mieux si ça marche pour toi!

Naghadjo : regarde mon post avec le lien ça t'aidera en attendant que je puisse y remédier.
ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011
20 juil. 2010 à 11:22
en effet en local sur easyphp 2.0 j'ai php 5.2.0 qui supporte bien le php 5. je l'ai aussi testé sur l'easyphp et la problématique reste la même(même erreur).
cs_keke21410 Messages postés 8 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 11 septembre 2010
20 juil. 2010 à 11:00
Jeromin75 -> Non je me suis mal exprimé, je vais changer le miens pour le tiens, donc prendre le tiens, qui est beaucoup plus complet et beaucoup plus léger que mon simple algo qui ne faisait que lister :)

Merci beaucoup (sous free aucuns problèmes)
guyzoLGM Messages postés 2 Date d'inscription lundi 12 juillet 2010 Statut Membre Dernière intervention 20 juillet 2010
20 juil. 2010 à 10:23
OK merci d'avance :)
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
20 juil. 2010 à 08:53
Ca vient des $_GET et $_POST.
http://www.commentcamarche.net/faq/1391-php-notice-undefined-index
Je vais tester sous easyPHP voir si je peux régler le problème.
guyzoLGM Messages postés 2 Date d'inscription lundi 12 juillet 2010 Statut Membre Dernière intervention 20 juillet 2010
20 juil. 2010 à 00:54
je rencontre aussi ces erreurs malgré la mise a jour de mon wampserver (PHP 5.3)

Notice: Use of undefined constant G - assumed 'G' in C:\wamp\www\monSite\index.php on line 46

Notice: Use of undefined constant i - assumed 'i' in C:\wamp\www\monSite\index.php on line 46

Notice: Undefined index: nom in C:\wamp\www\monSite\index.php on line 47

Notice: Undefined index: fichier in C:\wamp\www\monSite\index.php on line 48

Notice: Undefined index: fichier in C:\wamp\www\monSite\index.php on line 48

Notice: Undefined index: fichier in C:\wamp\www\monSite\index.php on line 49

Notice: Undefined index: fichier in C:\wamp\www\monSite\index.php on line 49

Notice: Undefined index: fichier in C:\wamp\www\monSite\index.php on line 49

Notice: Undefined variable: fichier in C:\wamp\www\monSite\index.php on line 50

Notice: Undefined index: fichier in C:\wamp\www\monSite\index.php on line 51

Notice: Undefined variable: size in C:\wamp\www\monSite\index.php on line 51

Notice: Undefined index: dirname in C:\wamp\www\monSite\index.php on line 68

Notice: Undefined index: dirname in C:\wamp\www\monSite\index.php on line 86
jeromin75 Messages postés 17 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 16 juin 2010
19 juil. 2010 à 21:21
ngahadjo :Possible que tu aies une version d'easy php qui ne gère pas le php5 ...fais la MAJ d'easy PHP. et reviens dire si c'est bon. Et pour le ftp pourquoi pas mais il faut alors spécifier des chmod et ça me saoulait, j'étais partit sur le opendir qui m'a suffit, je précise que c'est mon premier vrai script php.

KEKE : je ne comprend pas, tu vas le remplacer par le tien alors que tu trouves sympas mon script ?
cs_keke21410 Messages postés 8 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 11 septembre 2010
19 juil. 2010 à 19:50
euh franchement bravo, le script est complet, je crois que je vais le remplacer par le mien tout simple x)

Bravo l'interfasse est sympathoche :)
ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011
19 juil. 2010 à 19:49
Voici les erreurs que je reçois quand je teste ton code
Notice: Use of undefined constant G - assumed 'G' in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 47

Notice: Use of undefined constant i - assumed 'i' in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 47

Notice: Undefined index: nom in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 48

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 49

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 49

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 50

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 50

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 50

Notice: Undefined variable: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 51

Notice: Undefined index: fichier in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 52

Notice: Undefined variable: size in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 52

Notice: Undefined index: dirname in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 69

Notice: Undefined index: dirname in C:\Program Files\EasyPHP 2.0b1\www\Partage\index.php on line 87
selon toi que dois je faire! parce que ce script me donne bien des iddée dans une appli
ngahadjo Messages postés 19 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 14 mai 2011
19 juil. 2010 à 18:31
ne serais ce pas mieux de faire fonctionner ce scrip avec ftp? en plus ton scrip ne fonctionne qu'avec ceux qui on php5

// ouverture du fichier en mode lecture (r = ready)
$fichier=fopen("ftp://partag:partag@webscore/$monfichier","r");
Rejoignez-nous