Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

path di un file

0 views
Skip to first unread message

Gabriele

unread,
Jul 9, 2003, 1:09:19 PM7/9/03
to
Ciao a tutti.

Ho questo problema.
Ho uno script perl fisicamente è posizionato in D:\Apache2\cgi-\myscript.pl
che va a scrivere in output il file out.xml (che sta nella medesima
directory (cgi-bin) dello script.


#!D:/Perl/bin/perl.exe
$output_file = "./out.xml";
open (OUTPUT,">$output_file");
print "Content-type:text/xml\n\n";
$buffer ="stringa2";
print "$buffer\n";
print OUTPUT "$buffer";
close OUTPUT;

Mi aspettavo che il file fosse creato nella directory cgi-bin (ovvero la
stessa nella quale è posizionato lo script).

Se eseguo lo script in locale con "perl myscript.pl" tutto OK.

Se lo eseguo via browser "http://localhost/cgi-bin/myscript.pl" il file
viene creato ma per qualche ragione, che però non ho capito (e chiedo il vs.
aiuto), il file viene creato un livello di directory più in basso,
ovvero al percorso:
D:\Apache2\out.xml
invece che al path:
D:\Apache2\cgi-bin\out.xml

In pratica nella cartella padre a quella del mio script.

Ma mi piacerebbe sapare da cosa dipende il tutto.
Forse dal valore da qualche impostazione particolare di Apache2?

Ciao,
--Gabriele

Gigias

unread,
Jul 9, 2003, 6:01:14 PM7/9/03
to
In article <3%XOa.159580$Ny5.4...@twister2.libero.it>, Gabriele wrote:

> $output_file = "./out.xml";

Prova a sostituire questa riga con:

$output_file = "/cgi-bin/out.xml";


--


Ciao. Gigias.

Gabriele

unread,
Jul 9, 2003, 6:27:03 PM7/9/03
to
> Prova a sostituire questa riga con:
>
> $output_file = "/cgi-bin/out.xml";


Semmai con ./cgi-bin/out.xml. ? Nell'altro modo specifico un path assoluto.

Si, forse non mi ero spiegato: lo so che così funziona tutto ma non capisco
perchè se lo script lavora dentro una certa directory e se da questo faccio
riferimento ad un altro file contentuto nella stessa directory (utilizzando
un path relativo ./out.xml) lo script crea out.xml in due cartelle diverse a
seconda che lo si stia eseguendo in locale o tramite web server apache.

In quest'ultimo caso (http://localhost/cgi-bin/myscript.pl) il file
viene creato ad livello di directory più in basso,


ovvero al percorso:
D:\Apache2\out.xml
invece che al path:
D:\Apache2\cgi-bin\out.xml

come ho già detto nel mio post precedente.

Presumo che dipenda da una configurazione del server Apache2, ma quale?

Spero di essermi spiegato un po' meglio.:-)

Ciao a tutti.
--Gabriele


Gigias

unread,
Jul 24, 2003, 5:36:02 AM7/24/03
to
In article <XE0Pa.160739$Ny5.4...@twister2.libero.it>, Gabriele wrote:
>> Prova a sostituire questa riga con:
>>
>> $output_file = "/cgi-bin/out.xml";
>
>
> Semmai con ./cgi-bin/out.xml. ? Nell'altro modo specifico un path assoluto.
>

Effettivamento avevo dimenticato il punto, pero' ora ho fatto le prove con
mio server apache2 e la cosa funziona; cioe' out.xml viene
creato in cgi-bin.

Ciao. Gigias.

0 new messages