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 :

Perl en CGI?


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    il connait pas la routine start_html() ! faut ajouter une methode?(j'suis completement paumé moi )

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  2. #2
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    alors il va falloir lire la doc de CGI !

    ton script, c'est bien un truc comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #!c:/Perl/bin/perl -w
     
    use strict;
    use CGI;
     
    my $query_cgi = new CGI;
    print $query_cgi->header, start_html();
    ....... ton code d'upload de fichier....
    print $query_cgi->end_html;
    n'est ce pas ?

  3. #3
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    j'ai en fait remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print $query_cgi->header, start_html();
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    print $query_cgi->header();
    print $query_cgi->start_html();
    et maintenant plus de message internal server error mais le nom de mon fichier qui s'ecrit plein de fois

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  4. #4
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    oki ! et il n'y a pas un endroit où il disparait ? ce qu'il y a d'intéressant dans ces moments-là, c'est de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ....code
    print "1 : $Filename";
    .....code
    print "2 : $Filename";
    ....code
    print "3 : $Filename";
    etc...
    histoire de voir quel n° te manque

  5. #5
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    voila j'obtient partout ou j'ai mis des print les affichage du nom du fichier!

    dans ce bout de code le nom s'affiche 14 fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    			while (my $bytesread = read($File[$NumFile], my $buf, 1024)) 
    			{ 
    				print "le dernier ", $FileName,"\n<br>";
    				print OUTFILE $buf; 
    			} 
    			close (OUTFILE);
    dans celui la une fois :

    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
    for(my $moni=0;scalar(@thatisgood) > $moni;$moni++) 
    			{
    				if ((index(lc($FileName), $thatisgood[$moni]) != -1) || ($filenotgood eq "no")) 
    				{
    					$filenotgood = "no";
    					if (index(lc($FileName), $thatisgood[$moni]) != -1)
    					{
    						print "index #", $moni," ", $FileName,"\n<br>";
    						$FileSave = "file_upload.xls";                 # 7
    					}
    				}
    				else
    				{
    				$filenotgood = "yes";
    				}
    			}

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  6. #6
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    et tu as tjrs des messages d'erreur dans ton log ? ton fichier ne s'uploade tjrs pas ?

  7. #7
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    non toujours ca :
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] print() on closed filehandle OUTFILE at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 74.\n
    [Tue Apr 11 14:59:46 2006] [error] [client 127.0.0.1] Use of uninitialized value in string ne at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 39.\n
    c'est quand meme etrange

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  8. #8
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    tu peux remontrer ton script entier à tout hasard ?

  9. #9
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    volontier Mr6 :

    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    #!c:/Perl/bin/perl -w
     
    use strict 'vars';
    use strict 'refs';
    use CGI ;
     
    my $req = new CGI;
     
    print $req->header();
    print $req->start_html();
    #--------------------------------------------------------#
    #------------------ Get the excel file -----------------#
    #--------------------------------------------------------#
     
    # Constantes
    my $NumFile = 1;
    my $Monupload = "";
     
    # Répertoire d'arrivée des fichiers
    my $basedir = "htdocs";                 
    # Autorisation des types de fichiers
    my $everythings = "no";                
    # Extension acceptée
    my $accepte = ".xls";                
    # Page de redirect
    my $namefile = "send_ok.html";                
    # Nombre de boucle
    my $Nbboucle = 3;               
     
    my @File;
    my $FileSave;
     
    while ($NumFile != $Nbboucle) 
    {
    	# Récupération des données
    	$File[$NumFile] = $req->param("FILE".$NumFile); 
    	#print $NumFile,"\n";
    	my $filenotgood = "";
    	if ($File[$NumFile] ne "") 
    	{
    		my $FileName = $File[$NumFile];
    		$FileName =~ s!^.*(\\|\/)!!; 
    		print "le nom du fichier est : ", $FileName,"\n<br>";
    		# Vérification de la validité de l'extension
    		my @thatisgood=split(/\+/,  $accepte);
    		# Vérification du fichier si toutes les extensions ne sont pas acceptés.
    		if ($everythings ne "yes") 
    		{
    			for(my $moni=0;scalar(@thatisgood) > $moni;$moni++) 
    			{
    				if ((index(lc($FileName), $thatisgood[$moni]) != -1) || ($filenotgood eq "no")) 
    				{
    					$filenotgood = "no";
    					if (index(lc($FileName), $thatisgood[$moni]) != -1)
    					{
    						print "index #", $moni," ", $FileName,"\n<br>";
    						$FileSave = "file_upload.xls";                 # 7
    					}
    				}
    				else
    				{
    				$filenotgood = "yes";
    				}
    			}
    		}
     
    		# Récupération du fichier
    		if ($filenotgood ne "yes") 
    		{ 
    			open (OUTFILE, ">$basedir/$FileSave"); 
    			while (my $bytesread = read($File[$NumFile], my $buf, 1024)) 
    			{ 
    				print "le dernier ", $FileName,"\n<br>";
    				print OUTFILE $buf; 
    			} 
    			close (OUTFILE); 
    		}
     
    	}
    	$NumFile++;
    }
    print $req->end_html;

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  10. #10
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    ton fomulaire, mets-lui ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form action="/cgi-bin/le_nom_de_ton_fichier.pl" method="post" ENCTYPE="multipart/form-data">
     
    <h4>Please send your excel file:</h4>
    <INPUT TYPE=file NAME="FILE1" SIZE=30 MAXLENGTH=80>
    Pour sûr, chez moi ca marche


    ----
    et pour ton script, j'ai fait ca :
    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
     
    #!c:/Perl/bin/perl
     
    use strict;
    use CGI;
     
    my $req = new CGI;
     
    print $req->header();
    print $req->start_html();
     
     
    my $UPLOAD_DIR = "./";
    my $UPLOAD_URL = "./";
     
    my $doc = $req->param('FILE1');
    my $result = upload($doc) if $doc ne "";
    print "$result";
     
    print $req->end_html; 
     
     
     
     
    sub upload  {
    	my $doc = $_[0];
    	my @t = split /\\/,$doc;
    	my $doc_name = $t[$#t];
     
    	my($query, $file_name, $upload_dir) = @_;
        my($size, $buff, $bytes_count);
    	$size = $bytes_count = 0;
     
     
    	if (! $doc) {
    		return "Le document n'existe pas !!!";
    	}
    	if (-e "$UPLOAD_DIR$doc_name") {
    		unlink "$UPLOAD_DIR$doc_name";
    #		return "Le document existe déjà !!!";
    	}
    #	else {
    		my ( @safedoc_name ) = ( $doc_name =~ /(\w+)/g );
    		my $safedoc_name = "@safedoc_name";
    		$safedoc_name =~ s/\s/\./g;
     
    		open(FILE,">$UPLOAD_DIR$safedoc_name") || print ("Error opening file $file_name for writing, error $!", 1);
        	binmode FILE;
        	while ($bytes_count = read($doc, $buff, 1024)) {
        		$size += $bytes_count;
    	        print FILE $buff;
        	}
    	    close(FILE);
    		return "La doc $UPLOAD_DIR$safedoc_name a été enregistré et pèse $size.";
    #	}
    }

  11. #11
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    AAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHH!



    j'avais envie de crier!


    ca marche pas chez moi !!!

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  12. #12
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    oops............ ca marche

    Bon Mr6 je ne sais comment te remercier de ton aide et de ta patience, heureusement que le monde de la programation a des gens come toi

    si on se croise j'te paie une biere

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  13. #13
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    chic ! faudra que tu me dises quand tu passes dans le bordelais alors

  14. #14
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    ah le bordelais n'est pas au programme pour l'instant mais etant breton exilé a Panam si tu passes par l'un de ces coins de france ...

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Apache script perl upload.cgi
    Par Blueyes50 dans le forum Apache
    Réponses: 2
    Dernier message: 14/08/2012, 23h05
  2. Executer des scripts perl en CGI
    Par Pedro87 dans le forum Web
    Réponses: 3
    Dernier message: 09/03/2009, 21h54
  3. questions à propos de Perl - scripts cgi
    Par jejerome dans le forum Web
    Réponses: 10
    Dernier message: 28/02/2006, 08h17
  4. [perl/GD/CGI] trouver des exemples graphiques
    Par LE NEINDRE dans le forum Web
    Réponses: 4
    Dernier message: 28/07/2005, 17h58

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