[ Dragoslav Krunić @ 20.11.2001. 17:40 ] @
Oživimo ovaj forum kako ne bi totalno zamro...

LM, šta meni treba jeste način kojim će korisnik započeti download nekog fajla ali mu neće biti prikazana prava putanja do fajla. Imam sledeći kod:

Code:

#! /usr/bin/perl

print "Location: http://banana/fajl.zip";


I ovo je efikasno kada se poziva iz browsera, znači, u address baru ostane putanja do CGI skripta ali kada taj skript pozivam wget-om, on prvo pozove skript, pa zatim redirektuje i prikaže pravu putanju do zip fajla. Postoji li način da pravu putanju sakrijem?
[ Gojko Vujovic @ 20.11.2001. 18:59 ] @
Code:

$file = "putanja/do/neke/slike.gif";
print "Content-type: image/gif\n";
print "\n";
open(IMAGE, "<$file") || die "Greska: $file: $!";
while (<IMAGE>){ print $_; }
close(IMAGE);


Ovako sam ja prikazivao sliku preko scripte, samo promeni content-type u tip fajla koji saljes i vozi..
[ Dragoslav Krunić @ 20.11.2001. 21:30 ] @
Hvala, radi :)

Tako sam i ja radio za sliku ali nisam znao da može i za bilo koji drugi fajl. Kada si mi rekao da može, sve ostalo je bilo lako :)

Za one koje ovo interesuje, evo koda:

Code:

#! /usr/bin/perl

open(FAJL, "/neki/tamo/fajl.zip");

print "Content-type: application/x-zipnn";
 
while (<FAJL>)
{
    print $_;
}
 
close(FAJL);


I pored svega ovoga, jedan savet. Naime, ja sam ovaj program sačuvao kao dnload.cgi. Kada sam ga pozvao iz browsera, on mi je predložio da fajl sačuvam kao dnload.cgi a ne kao sto je ime zip fajlu (fajl.zip). Zato CGI skriptu dajte takvo ime tako da to ime korisniku bude ponuđeno kada bude trebao da sačuva fajl.

Ajde, pozdrav i hvala još jednom :)