GNT sans publicité, site mobile, fonctionnalitées exclusives...

Net::FTP

Le
Penguin_X
Salut ! J'essaie d'envoiller un fichier .html avec le module Net::FTP.
Le fichier est bien envoillé sur mon serveur, mais il est illisible !

Voici mon code-source de mon programme, peut être vous comprenderez.
N'oubliez pas que le "working directory" est "data/".

CODE: (OS: Linux 2.6.2 Slackware 10.1)

#!/usr/bin/perl
# This program is free software. You can modify it, copy it
# and resell it with only one condition. You must keep the
# code availiable to everyone who need it. For more info,
# read the GNU General Public License at: www.gnu.org
#
# netsched.pl - A simple TCP/IP Scheduler
# Written by Penguin_X
# penguin_x@phreaker.net
#
# Modules used
use Net::FTP;
use Net::SMTP;
use Switch; # It isn't gay ?

# Main Screen sub function
sub MainScreen
{
print "+-+";
print "+ NET Schedule ";
print "+-+";
print "+ 1. New File";
print "+ 2. Load A File";
print "+ 3. Quit";
print "+-+";
print "";
}

# Infinite loop
while(1)
{
&MainScreen; # Call the sub procedure
print "Please enter a choice: ";
$choice = <STDIN>;
chomp($choice);

# Case statement - Most important of the code
# Writing a good code here
# is very important
switch($choice)
{
case "1"
{
# Opening a new file
chdir('data/'); # Changing directory
print "Please enter the current Month, Day and Year(MMDDYYYY): ";
$time = <STDIN>;
chomp($time);
$filename = $time . ".html"; # Contatenation of two strings
open(NEWFILE,">$filename") or die "Error\a";
# Asking questions for HTML page
print "Please enter your last name: "; # Asking last name
$LastName = <STDIN>;
chomp($LastName);
print "Please enter your first name: "; #Asking for the first name
$FirstName = <STDIN>;
chomp($FirstName);

# -- HTML CODE BEGIN HERE --
print NEWFILE "<html>";
print NEWFILE "<title>Schedule for : $time</title>";
print NEWFILE "</head>";
print NEWFILE "<body>";
print NEWFILE "<table border=\"1\" width=\"100%\">";
print NEWFILE "<tr>";
print NEWFILE "<td width\"100%\">";
print NEWFILE "<p align=\"center\"> Schedule for : $time </td>";
print NEWFILE "</tr>";
print NEWFILE "</table>";
print NEWFILE "<table border=\"1\" width=\"100%\">";
print NEWFILE "<tr>";
print NEWFILE "<td width=\"50%\">";
print NEWFILE "<p align=\"left\">Name</td>";
print NEWFILE "<td width=\"50%\">";
print NEWFILE "<p align=\"left\">$LastName, $FirstName</td>";
print NEWFILE "</tr>";
print NEWFILE "</table>";
print NEWFILE "<table border=\"1\" width=\"100%\">";
print NEWFILE "<tr>";
print NEWFILE "<td width=\"50%\">";
print NEWFILE "<p align=\"center\">Hour</td>";
print NEWFILE "<td width=\"50%\">";
print NEWFILE "<p align=\"center\">Event</td>";
print NEWFILE "</tr>";
# Events editor
print "Now, we will set the events for this day.";
$event = 1;
# --Beginning of the loop--
while($event == 1)
{
print "Do you want to add a new event ? [Y=1/N=2]: ";
$event = <STDIN>;
chomp($event);
if($event == 2)
{
last; #end of loop
}
print "Enter an hour [HH:MM:AM/PM]: ";
$hour_event = <STDIN>;
chomp($hour_event);
print "Enter an event: ";
$the_event = <STDIN>;
chomp($the_event);
print NEWFILE "<tr>";
print NEWFILE "<td width=\"50%\">$hour_event</td>";
print NEWFILE "<td width=\"50%\">$the_event</td>";
print NEWFILE "</tr>";
}
# --End of the loop--
print NEWFILE "</body>";
print NEWFILE "</html>";
# --END OF THE HTML CODE--
close(NEWFILE); # closing the file
# -- FTP Sending --
print "Do you want send your schdedule via FTP ?";
print "[Y=1/N=2]: ";
$Ftp_Answer = <STDIN>;
chomp($Ftp_Answer);
if($Ftp_Answer == 1)
{
# Send the schedule on a remote FTP Server

print "Server: ";
$Host = <STDIN>; # The server is in memory now
chomp($Host);

print "Username: ";
$User = <STDIN>; # Username is now in memory
chomp($User);

print "Password: ";
$Pass = <STDIN>; # The password is now in memory
chomp($Pass);

print "Remote directory: ";
$Cwd = <STDIN>; # remote FTP Direcroty is now in memory
chomp($Cwd);

# Try to connect to the remote ftp server
$ftp = Net::FTP->new($Host) or warn "Cannot reach the server!";

# Try to login in
$ftp->login($User, $Pass) or warn "Cannot login!";

# Changing remote directory(cwd's command)
$ftp->cwd($Cwd);

$ftp->put($filename, $filename);

# Quit the FTP Server
$ftp->quit;
}
}
}
}
--
-=[Penguin_X]=-
Lire les 4 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques Caron
Le #57350
Salut,

On Sat, 11 Jun 2005 23:01:05 -0400, Penguin_X
Salut ! J'essaie d'envoiller un fichier .html avec le module Net::FTP.
Le fichier est bien envoillé sur mon serveur, mais il est illisible !


Et si tu nous disais ce que tu entends par "illisible"? Pas les bons
droits? Pas entier? Modifié?

Jacques.

Alexandre Jaquet
Le #57349
Salut,

On Sat, 11 Jun 2005 23:01:05 -0400, Penguin_X
Salut ! J'essaie d'envoiller un fichier .html avec le module
Net::FTP. Le fichier est bien envoillé sur mon serveur, mais il est
illisible !



Et si tu nous disais ce que tu entends par "illisible"? Pas les bons
droits? Pas entier? Modifié?

Jacques.


Ca marche niquel chez moi


Denis -esp2008-
Le #57005
Bonjour,

Salut ! J'essaie d'envoiller un fichier .html avec le module Net::FTP.
Le fichier est bien envoillé sur mon serveur, mais il est illisible !


Il est toujours bon de connaître ce qui est derrière un module avant de
l'utiliser, comme dans ce cas-ci le protocole ftp. Le problème est que le
fichier n'est pas passé en mode texte alors que ce sont 2 environnements
différents, il faut appeler la méthode "ascii" du module pour résoudre
ce problème.

--
Denis

Penguin_X
Le #54085
Denis -esp2008- wrote:
Bonjour,


Salut ! J'essaie d'envoiller un fichier .html avec le module Net::FTP.
Le fichier est bien envoillé sur mon serveur, mais il est illisible !



Il est toujours bon de connaître ce qui est derrière un module avant de
l'utiliser, comme dans ce cas-ci le protocole ftp. Le problème est que le
fichier n'est pas passé en mode texte alors que ce sont 2 environnements
différents, il faut appeler la méthode "ascii" du module pour résoudre
ce problème.

Ok merci. Finallement j'ai reglé le problème. Je travaille présentement

sur un programme qui fait des "shedules" directement en ligne. Le
programme est bien partit. Le seul problème reste que si je veux
visualiser mes schedules via le web, il faut que mon répertoire où mes
fichiers sont envoillés soient complètement sécurisé.

J'ai aussi crée un fichier de configuration, ce qui permet de prendre
des paramètres automatiquement.

Vous avez une idée pour protéger mon répertoire pour qu'ils soient
protéger via un mot de passe ? J'ai présentement un FTP qui m'offre
cette option, mais ce n'est pas tout les services web qui offrent des
dossiers avec mot de passes...

--
+-+-+-+-+-+-+-+-+-+
|P|e|n|g|u|i|n|_|X|
+-+-+-+-+-+-+-+-+-+


Publicité
Suivre les réponses
Poster une réponse
Anonyme