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

Web Perl Discussion :

pb d'affichage image *.png


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par défaut pb d'affichage image *.png
    Bonjour à tous


    j'ai un script .cgi tres simple pour afficher les images .png dans le repertoire cible.

    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
    #!/usr/bin/perl -w
    use CGI;
    use strict;
    use warnings;
     
    print "Content-type: text/html\n\n";
    my $chemin="/usr/local/nagios/sbin/rrd/";
    opendir(LOGDIR, $chemin);
    my @files=readdir(LOGDIR);
    closedir(LOGDIR);
    if(@files)
     {
     print "<ul>";
      foreach (sort @files)
        {
          print "<li> $_ " if /day.png/; 
        }
      print "</ul>";
     
     
     
       foreach (sort @files)
        {
          print qq(<img src="$_">)if /day.png/;
        }
     }
    Mais j'ai probleme d'affichage des images *.png (voir le document attaché).

    Merci de votre aide
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    C'est parce que le chemin "src" que tu donnes n'est pas correct : il n'y a que le nom du fichier, or ce fichier ne se trouve pas dans le même répertoire que ton script, donc le browser ne trouve pas ces images et ne peut pas les afficher.
    Il faut que tes images soient placées sous la racine de ton serveur web et que tu donnes leur chemin par rapport à cette racine si tu veux les afficher, comme dans toute page HTML.

    --
    Jedaï

  3. #3
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Peut-être qu'ici ceci fonctionnerait :
    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
    #!/usr/bin/perl -w
    use CGI;
    use strict;
    use warnings;
     
    print "Content-type: text/html\n\n";
    my $chemin="/usr/local/nagios/sbin/rrd/";
    opendir(LOGDIR, $chemin);
    my @files=readdir(LOGDIR);
    closedir(LOGDIR);
    if(@files)
     {
     print "<ul>";
      foreach (sort @files)
        {
          print "<li> $_ " if /day.png/; 
        }
      print "</ul>";
     
     
     
       foreach (sort @files)
        {
          print qq(<img src="/nagios/sbin/rrd/$_">)if /day.png/;
        }
     }
    --
    Jedaï

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Juste une question :

    Par le biais de cette syntaxe : print "<li> $_ " if /day.png/;, n'y a-t-il pas une erreur dans la courte RexExp et ne devrait-ce pas être day\.png plutôt ?

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par défaut
    j'ai pas compris pourquoi ça marche pas
    (voir 2 documents attachés)

    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
    #!/usr/bin/perl -w
    use CGI;
    use strict;
    use warnings;
     
    print "Content-type: text/html\n\n";
    my $chemin="/usr/local/nagios/sbin/rrd/";
    opendir(LOGDIR, $chemin);
    my @files=readdir(LOGDIR);
    closedir(LOGDIR);
    if(@files)
     {
     print "<ul>";
      foreach (sort @files)
        {
          print "<li> $_ " if /day.png/; 
        }
      print "</ul>";
     
     }
     
    print qq(<img src="/usr/local/nagios/sbin/rrd/test-sig-day.png">);
    voilà le chemin est correcte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    linux:~ # ls -l /usr/local/nagios/sbin/rrd/*day.png
    -rw-r--r--  1 root root 26718 Jun 25 14:45 /usr/local/nagios/sbin/rrd/192.168.111.10-sig-day.png
    -rw-r--r--  1 root root 51272 Jun 25 14:45 /usr/local/nagios/sbin/rrd/test-sig-day.png
    -rw-r--r--  1 root root 18942 Jun 22 09:00 /usr/local/nagios/sbin/rrd/x-sig-day.png
    voilà la configuration d'apache2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ScriptAlias /graph  /usr/local/nagios/sbin/rrd
    <Directory "/usr/local/nagios/sbin/rrd">
        Options ExecCGI
        AllowOverride None
        Order allow,deny
        Allow from all
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/nagios/etc/htpasswd.users
        Require valid-user
    </Directory>
    Images attachées Images attachées   

  6. #6
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par faddou
    j'ai pas compris pourquoi ça marche pas
    Tu as vraiment lu mon message ? Tu as essayé mon script ?

    Le client (le navigateur internet) ne voie pas ton serveur de l'intérieur, il le voie de l'extérieur, et les chemins d'un fichier ne sont pas les mêmes pour lui que pour ton serveur. Par exemple tu appelles ton script CGI avec l'adresse "http:/localhost/nagios/cgi-bin/rrd/list.cgi", pas avec "/usr/local/nagios/cgi-bin/rrd/list.cgi", si le navigateur internet demande cette adresse, il ne va rien trouver, d'accord ?
    C'est pareil pour tes images : l'adresse de ton image pour le navigateur internet c'est "http://localhost/nagios/sbin/rrd/machin_day.png", pas "/usr/local/nagios/sbin/rrd/machin_day.png", c'est pourquoi dans l'attribut "src" de ton tag "img" tu dois mettre une adresse que le navigateur comprend, pas une adresse que ton serveur comprend, capito ?

    Par ailleurs si tu mets : "src="/nagios/sbin/rrd/machin_day.png"", le navigateur sachant que la page où est écrit ceci est sur le site "http:/localhost" va traduire cela en "src="http://localhost/nagios/sbin/rrd/machin_day.png"" automatiquement. Et si tu mets "../../sbin/rrd/machin_day.png" pareil (parce que c'est un chemin relatif, il n'y a pas de "/" devant, donc il est relatif à l'emplacement exact de la page).

    --
    Jedaï

  7. #7
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par défaut
    Tu as vraiment lu mon message ? Tu as essayé mon script ?
    je l'ai essayé mais ça marche pas encore
    (voir 2 document attaché)

    qu'est ça veut dire ce message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Error message:
    Premature end of script headers: test_test.cgi
    Images attachées Images attachées   

Discussions similaires

  1. Rapport .rdlc Visual Studio 2010, problème affichage image png
    Par tomtom3471 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 15/09/2011, 18h00
  2. Affichage d'une image PNG
    Par fomazou dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 17/07/2011, 14h12
  3. Problème affichage image PNG
    Par vince29 dans le forum Langage
    Réponses: 2
    Dernier message: 27/04/2011, 15h00
  4. affichage image PNG
    Par cedrick21 dans le forum Langage
    Réponses: 2
    Dernier message: 01/08/2010, 09h08
  5. [ImageMagick] Affichage d'une image png
    Par JavaAcro dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 06/02/2006, 09h13

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