IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

File browser ?


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut File browser ?
    salut tt le monde

    je veus faire un programme qui m'affiche la liste de fichiers et de repertoires dans un disque usb (ou n'importe quel repertoire) sur un explorateur internet(IE ,Firefox....).
    d'apres ce que j'ai lu des scripts cgi en c peuvent faire l'affaire.
    avez vous une idée comment on peut faire ca ?
    connessez vous des bibliotheque ou des fonction qui peuvent m'aider ?

    ci joint une image de ce que l'application doit donner (c juste du photoshop).

    merci pour votre aide.
    http://www.monsterup.com/image.php?u...1211820079.jpg

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Plusieurs questions :
    - est tu conscient qu'il faut un serveur WEB pour que ça fonctionne avec des cgi?
    - cgi? fastcgi? scgi?
    - comment configures tu le dossier à afficher?

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    oui je sais qu'il faut un serveur web( lighttpd) pour affichier les pages cgi et d'alleurs j'ai choisie la technologie FastCGI pour sa consomation moindre de ressources .

    a propos de la derniere question j'ai pas vraiment compris ce que vous voulez dire. mais a propos des droits sur le dossier a affichier ce n'est pas un probleme un chmod 755 me satisfait largement.

    PS : je travaille actuellement en local donc je controle la configuration du serveur web .
    merci

  4. #4
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Pour la dernière question, en gros je te demande, comment tu dis à ton cgi quel dossier afficher?

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    salut

    le nom de dossier est une constante. ce dossier en question se trouve en fait sur le serveur web.

  6. #6
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    OK c'est enfantin alors.
    Poste ton code si tu as des soucis!!

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    voila le code que j'ai fais mais le probleme que la page ne s'affiche pas.
    si je commente la partie ou on affiche la liste de fichier ca fonctionne tres bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #include <stdio.h>
    #include <unistd.h>
    #include "cgi_pages.h"
    #include <dirent.h>
     
    int main(int argc, char **argv) {
     
    	//envoi du header http    
    	printf("Content-type: text/html\n\n");
    	printf("\n");
    	fflush(stdout);
     
    	//entete html
    	printf("<html><head><title>Accueil</title></head>\n"); 
     
    	//body
    	printf("<body>\n");
    	printf("<table bgcolor=\"#ebebeb\"><tr>\n");
    	printf("<td><a href=\"accueil.cgi\">accueil page</a></td>\n");
    	printf("<td><a href=\"config.cgi\">config page</a></td>\n");
    	printf("</tr></table>");
     
    	printf("<p>commencer la test</p>\n");
     
    	DIR *mondir ;
    	struct dirent *entry ;
     
    	mondir = opendir("/home/sst/Desktop") ;
    	printf("<table>\n");
    	for( entry=readdir(mondir);entry!=NULL; entry = readdir(mondir)) {
    	if (entry->d_name[0] != '.')
     
    	printf("<p>%s</p>\n", entry->d_name);
     
    	}
    	printf("</table>\n");
    	printf("<p>fin de test</p>\n");
    	printf("</body></html>\n");
     
           return 0 ;
     
    }
    si j'execute ce script sur un terminal voila le resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Content-type: text/html
     
     
    <html><head><title>Accueil</title></head>
    <body>
    <table bgcolor="#ebebeb"><tr>
    <td><a href="accueil.cgi">accueil page</a></td>
    <td><a href="config.cgi">config page</a></td>
    </tr></table>
    <p>commencer la test</p>
    <table>
    <tr><td>Dossier personel</td></tr>
    <tr><td>test.c</td></tr>
    <tr><td>test.c~</td></tr>
    <tr><td>my_movies</td></tr>
    <tr><td>rapport.txt</td></tr>
    </table>
    <p>fin de test</p>
    </body></html>
    ca ma parait tout a fait normale.et je ne sais pas ce qui cloche
    merci de m'aider

  8. #8
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    ça n'est pas le code d'un fastcgi, voici une version fastcgi de ton code, qui fonctionne (d'ordinaire je n'ajoute pas les tabulations, ni les retours à la lignes, je ne les ai mis ici que pour la lisibilité dans le html généré, après à toi de voir)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    #include <fcgi_stdio.h>
    #include <dirent.h>
    #include <string.h>
    #include <errno.h>
     
    #define DIRECTORY "/home/sst/Desktop/"
    #define EQUAL 0
     
    int main (int argc, char **argv)
    {
       while (FCGI_Accept () >= 0)
       {
          DIR *repertoire = opendir (DIRECTORY) ;
     
          if (repertoire != NULL)
          {
             struct dirent *entry ;
     
             puts ("Content-type: text/html\r\n\r\n"
                   "<html>\n"
                   "\t<head>\n"
                   "\t\t<title>Accueil</title>\n"
                   "\t</head>\n"
                   "\t<body>\n"
                   "\t\t<table bgcolor=\"#ebebeb\">\n"
                   "\t\t\t<tr>\n"
                   "\t\t\t\t<td>\n"
                   "\t\t\t\t\t<a href=\"accueil.cgi\">accueil page</a>\n"
                   "\t\t\t\t</td>\n"
                   "\t\t\t\t<td>\n"
                   "\t\t\t\t\t<a href=\"config.cgi\">config page</a>\n"
                   "\t\t\t\t</td>\n"
                   "\t\t\t</tr>\n"
                   "\t\t</table>\n"
                   "\t\t<p>commencer le test</p>"
                   "\t\t<table>");
     
             while ((entry = readdir (repertoire)) != NULL)  
             {
                if (strcmp (entry->d_name, ".") != EQUAL &&
                    strcmp (entry->d_name, "..") != EQUAL)
                {
                   printf ("\t\t\t<tr><td> %s </td></tr>\n", entry->d_name);
                }
             }
     
             puts ("\t\t</table>"
                   "\t\t<p> fin du test </p>\n"
                   "\t</body>\n"
                   "</html>");
     
             closedir (repertoire), repertoire = NULL;
          }
          else
          {
             printf ("Content-type: text/html\r\n\r\n"
                     "<html><body><h1>erreur : %s</h1></body></html>",
                     strerror (errno));
          }
       }
       return 0;
    }

  9. #9
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    ca affiche exactement la meme chose. les liens au dessu et "commencer la test" et "fin de test" s'affichent mais pas le contenu du dossier.

    une idéee.

  10. #10
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    J'ai modifié mon code afin qu'il t'affiche les erreurs lors de l'ouverture du dossier.
    Tiens moi au courant!

  11. #11
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    salut

    merci nicolas , le probleme était dans la permission accordé au dossier.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Comment intégrer PDW File Browser ?
    Par Xor56 dans le forum Symfony
    Réponses: 0
    Dernier message: 21/02/2012, 17h21
  2. mette un file browser boutton au milieu de la fenetre
    Par maissaab dans le forum wxPython
    Réponses: 1
    Dernier message: 18/05/2011, 13h09
  3. File browser dans page web
    Par dens19 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/12/2009, 21h45
  4. Navigateur de fichier (file browser)
    Par knabyss dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/05/2007, 16h19
  5. [VB][WORD] file browser dialog en macro VB sous word ?
    Par Nycos62 dans le forum VBA Word
    Réponses: 1
    Dernier message: 17/09/2005, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo