Lancer une commande unix dans CGI

Lancer une commande unix dans CGI - Perl - Programmation

Marsh Posté le 18-12-2006 à 21:47:26    

Salut,  
 
Qqn saurait-il commancer lancer une commande unix dans un fichier CGI ?
 
voici mon cas :  
 


use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
 
my $q = new CGI;
print $q->header();
print $q->start_html();
 
my $HOME            = "../~procopiou";
my $STRUCTURES = "$HOME/pdb_structures";
system("cp $HOME/file.zip $STRUCTURES" );
 
print $q->end_html();


 
Je veux donc copier un fichier de mon repertoire $HOME vers le repertoire $STRUCTURE.... mais rien ne se passe ! qqn a -til une idée ?  
 
merci

Reply

Marsh Posté le 18-12-2006 à 21:47:26   

Reply

Marsh Posté le 19-12-2006 à 09:41:02    

vu que tu te moques du retour utilises plutôt exec à la place de system.
Et fait un print de l'erreur en cas de problème:

Code :
  1. exec("cp $HOME/file.zip $STRUCTURES" ) or print STDERR "couldn't exec cp: $!";


 
Mais là, j'ai l'impression que tu te mélanges entre les chemins sur ton système et le chemin du "site web".
Il y a peu de chance que ../~procopiu soit vraiment un répertoire parce contre je suis sur que les fichiers qu'il contient sont dans /home/procopiu/public_html/.
Et fais également attention aux droits sur ces fichiers ( particulierement pour apache).

Reply

Marsh Posté le 20-12-2006 à 13:16:32    

merci ! c'était bien ça l'erreur.. Je mélangeais les répertoires "Web" avec ceux de mon système !
 
merci encore

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed