On May 24, 5:59 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > On May 24, 2:22 pm, Alma <[EMAIL PROTECTED]> wrote: > > > Hi All, > > > I need to store the files > > What files? Where are the before you "store" them? > > > in a directory '/home/user/cgi-bin/{today's > > Date} > > I am able to creata a folder on daily bases . > > If that bit's not a problem why do you mention it? > > > I am struggling to create a subroutine that stores the uploaded pdf > > file into this today's date directory. > > Can you explain why you think this would be different for a PDF file > than for any other sort of file? > > Can you be more precise about the nature of the diffiulty you are > having? What have you tried? How did it fail? > > What do you mean "uploaded"? Is this perhaps a stealth CGI question? > > If this is a stealth CGI question have you looked at the examples in > the CGI docmentation? Is there somthing in there you think is unclear? > Remember as a beginner you are uniquely qualified to tell us when the > documentation is unclear. > > Actually looking a the documentation it's poor! > > It mentions binmode() too late and uses the 2-arg open without > checking for errors. > > I would actually use File::Copy. > > copy(upload('uploaded_file'),"/wherever/$date/$filename") or die $!; > > You will, of course, have to do something to make sure $filename is > unique. > > > & if i need to read the pdf file > > What do you mean by "read the pdf file"? Do you mean you actually want > to parse it and extract info? Look on CPAN for modules with PDF in > their name. > > > should i be using open file or infile command? > > What is "infile command"?
Try this out, there are some changes to the other post. #!/usr/bin/perl -w use strict; use File::Copy; use Time::Local; my $destination_folder = "cgi-bin\\"; # path to destination folder my $source_folder = "C:\\Programming\\test_bed_perl\\"; #path to source folder # add extensions to select those files for copying eg. *.pl would select file with .pl only. Can select # multiple extensions ("*.*, *.pls) my $file_extensions = "*.pdf"; my($day, $mon, $yr) = (localtime)[3, 4, 5]; my $daily_folder = $day . "_" . ($mon + 1) . "_" . ($yr + 1900) ."\\"; # check epoch if you are going to use date as dir name (UNIX $yr + 30 i think) my $start = timelocal(0, 0, 0, $day, $mon, $yr); # 00:00 this morning my $stop = $start + (24 * 60 * 60 ) - 1; # 23:59:59 chdir $destination_folder or die "cannot change dir"; mkdir "$daily_folder"; print "directory created: ${destination_folder}${daily_folder}\n"; grep { if ($_ ne $0){ copy("${source_folder}$_", "${destination_folder}${daily_folder}$_") or die "Could not copy source file: $!\n"; print "copying ${source_folder}$_ -> ${destination_folder}$ {daily_folder}$_\n"; unlink("${source_folder}$_") or die "Could not delele source files: $!\n"; print "deleting ${source_folder}$_\n\n"; } } @{&find_files}; sub find_files{ my @files; chdir $source_folder; grep{ my $timestamp = (stat $_)[9]; push @files, $_ if $timestamp >= $start && $timestamp <= $stop; } glob $file_extensions; return [EMAIL PROTECTED]; } edit the $destination_folder and $source_folder to the directories you want the files moved to and the original location of the uploads. you can also edit $file_extensions if you want to filter for a specific extension eg. ".pdf". Can you give me an indication of what you want to do with the opened pdf? -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/