хм спасибо.
я теперь запутался.
Значит на ПХП написана форма для выбора текстового файла
Cистема автоматизации отправки
if(isset($_FILES["vipis"]["name"]) && !empty($_FILES["vipis"]["name"])){
print_r($_FILES);
$uploadfile="D:\\server\\web\\site\\1\\checks\\yo.txt";
# print_r($_FILES);
if (move_uploaded_file($_FILES[\'vipis\'][\'tmp_name\'], $uploadfile)) {
echo "- Файл в успешно загружен.
";
if(! system("D:\\server\\web\\site\\1\\checks\\checks.pl D:\\server\\web\\site\\1\\checks\\yo.txt")){
echo " - Файлы успешно сформитрованы
Назад";
}
else{echo " - Ошибка формирования ";}
}
else {
echo "Ошибка загрузки файла
"; }
exit;
}
else{
print "
она передает его скрипту для рассылки по электроным адресам. каждому свой кусок с этого файла.
!D:/server/APACHE/perl/bin/Perl.exe -w
use strict;
if(! defined @ARGV || @ARGV[0]!=/^\\w+\\.txt/){die "Usage checks.pl [filename.txt]\\n";}
##Logging
open (LOG,">>D:/server/APACHE/web/site/cgi/checks/checks.log");
my $time=localtime();
print File " *********** CKECKS.PL LOGGING FACILITY STARTED**************\\n";
print LOG "$time Opening checks file....\\n";
open(FD,@ARGV[0]) and print LOG("$time Cannot open checks file....@ARGV[0]\\n");
my @linez;
my $megaline;
my $conv = Text::Iconv->new("cp1251", "koi8u");
foreach my $line(){
chomp($line);
next if($line=~/^\\s+$/);
my $cc = $conv->convert($line);
$megaline.=$cc."\\n";
}
my %cities=(
"2650755"=>"gorod1",
"2650655"=>"gorod2",
"2650555"=>"gorod3",
"2650455"=>"gorod4",
"2650355"=>"gorod5",
"2650255"=>"gorod6",
"2650155"=>"gorod7",
"2650055"=>"gorod8",
"2650955"=>"gorod9",
);
my %emails=(
"gorod1"=>"эл.адресс",
"gorod2"=>"эл.адресс",
"gorod3"=>"эл.адресс",
"gorod4"=>"эл.адресс",
"gorod5"=>"эл.адресс",
"gorod6"=>"эл.адресс",
"gorod7"=>"эл.адресс",
"gorod8"=>"эл.адресс",
"gorod9"=>"эл.адресс",
);
my @megalines=split("уЮЕФ ЛМЙЕОФБ : ",$megaline);
$megalines[5]=~/чщрйулб йъ мйгечпзп уюефб ъб (\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d)/;
my $date=$1;
print LOG "$time Writing checks for date $date\\n";
#mkdir("/mnt/disk/vipiski/$date",0777) or print LOG "Cannot create directory...\\n";
my $conv1 = Text::Iconv->new("koi8u", "cp1251");
use Net::SMTP;
while(@megalines){
my $smtp = Net::SMTP->new(\'ip adress servera\');
my $line=shift(@megalines);
$line=~/^\\s(\\d+)/;
my $city=$1;
if(! exists($cities{$city})){next};
my $ucity=uc($cities{$city});
open(PZ,">D:/server/APACHE/web/site/cgi/checks/$date/$cities{$city}.txt");
print PZ "******** $ucity ==> $date *********";
my $cc = $conv1->convert($line);
print PZ "$cc\\n";
close PZ;
$smtp->mail("эл.адресс");
# $smtp->to("эл.адресс");
$smtp->to($emails{$cities{$city}});
$smtp->data();
my $subj=$conv1->convert("чЩРЙУЛЙ ЪБ");
$smtp->datasend("Subject: $subj $date\\n");
$smtp->datasend("\\n");
if($cities{$city} eq "gorod"){
$smtp->datasend("$line\\n");
}
if($cities{$city} eq "gorod"){
$smtp->datasend("$line\\n");
}
if($cities{$city} eq "gorod"){
$smtp->datasend("$line\\n");
}
else{
$smtp->datasend("$cc\\n");
}
$smtp->dataend();
$smtp->quit;
print LOG "$time Successfully sent to $emails{$cities{$city}}\\n";
}
my $time=localtime();
print LOG "$time FINISHED \\n**********************************************************\\n";
#`/sbin/umount /mnt/disk`;
Так я не могу понять каким образом он выбирает.
Да и сам лог файл не открывается и нечего не записывается в него.
Раньше был на Linuxe теперь перенес на хп. но он не работает.
Файл передается и на этом все заканчивается.
Можит что-то не так сделал?
Вобщем подскажите что и как?