Datei erstellen

Alles, was Perl betrifft, kann hier besprochen werden.

Datei erstellen

Postby xamppgast » 16. June 2007 12:20

Hallo,
wenn ich auf meinem lokalen System mit
$rc = open ($datei_fh, ">$datei");
eine Datei ($datei = "http://www.foo.com/dir/aaa.txt")
schreiben will, so kommt ein Fehler,
gebe ich den zugehörigen direkten lokalen Pfad an
($datei = "d:/foo/dir/aaa.txt"), so wird die Datei angelegt.

Im Internet klappt die URL-Angabe, es liegt also nahe, dass an meinem
XAMPP noch ein Parameter falsch ist.
Wer kann mir weiterhelfen?
xamppgast
 
Posts: 27
Joined: 25. December 2004 16:35

Postby KingCrunch » 16. June 2007 13:37

so kommt ein Fehler,
Welcher? ;)


allow_url_fopen
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby xamppgast » 16. June 2007 14:05

Als Fehler kommt nur 'false', in der log habe ich nichts gefunden.
allow_url_fopen finde nur bei PHP, ich arbeite aber mit Perl.
xamppgast
 
Posts: 27
Joined: 25. December 2004 16:35

Postby KingCrunch » 16. June 2007 14:13

allow_url_fopen finde nur bei PHP, ich arbeite aber mit Perl.
Gut, dass du das erwähnst -.-

Als Fehler kommt nur 'false', in der log habe ich nichts gefunden.
Eine Datei per http anzulegen ist sowieso nicht besonders sinnvoll, weil das Protokoll dafür eigentlich nicht ausgelegt ist. Leg sie doch einfach per Dateipfad an und gut ;) Spricht etwas dagegen, wenn es denn funkioniert?
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby xamppgast » 16. June 2007 14:15

>>Spricht etwas dagegen, wenn es denn funkioniert?

Es soll ja auch im Internet funktionieren, ohne dass ich zwei Versionen pflegen muss.
Und es hat ja wie gesagt schon einmal funktioniert.
xamppgast
 
Posts: 27
Joined: 25. December 2004 16:35

Postby KingCrunch » 16. June 2007 14:26

Es soll ja auch im Internet funktionieren, ohne dass ich zwei Versionen pflegen muss.
Und es hat ja wie gesagt schon einmal funktioniert.
Entschuldigung, aber das verstehe ich nur bedingt... Die Server im Internet haben kein Dateisystem? Warum sollte es mit einer Pfadangabe "im Internet" nocht funkionieren?
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby xamppgast » 16. June 2007 15:01

[quote]Warum sollte es mit einer Pfadangabe "im Internet" nocht funkionieren?[/quote]
Warum nicht? Tatsache ist, dass die Angabe des Filenames in der Art http://www.foo.com/cgi-bin/dir/irgendwas.txt
im Internet funktioniert.

Jetzt muss ich mich ausblenden, ich fahre zu dem großen Flohmarkt nach Konstanz (heute und morgen).
Bis Montag!
xamppgast
 
Posts: 27
Joined: 25. December 2004 16:35

Postby KingCrunch » 16. June 2007 15:03

Du kannst doch nicht sagen, dass Variante A nicht funktioniert, weil Variante B funktioniert! Oo

Fakt ist: Dateien anlegen oder beschreiben per Dateisystem. Und nun noch einmal bitte: Was spricht dagegen?!? Gibt es bei dir einen besonderen Grund, wieso du so versessen auf das Hypertext-Protokoll bist?
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby xamppgast » 18. June 2007 11:16

[quote="KingCrunch"]Du kannst doch nicht sagen, dass Variante A nicht funktioniert, weil Variante B funktioniert! [/quote]
[quote="KingCrunch"]
Hab ich doch nicht.
Ich habe gesagt: Im Internet funktioneren beide Methoden,
auf meinem lokalen Apache-System jedoch nur eine.

Fakt ist: Dateien anlegen oder beschreiben per Dateisystem. Und nun noch einmal bitte: Was spricht dagegen?!? Gibt es bei dir einen besonderen Grund, wieso du so versessen auf das Hypertext-Protokoll bist?[/quote]
Wieso bin ich versessen auf das Hypertext-Protokoll?
Ich möchte (egal wie) eine Datei auf dem Server (der nicht mir gehört) schreiben und wieder lesen. Dort kann ich sie ja nur ansprechen mit www.foo.com......
Und genau so möchte ich es auf meinem lokalen System mahen, damit ich nicht lokal und im Internet zwei Versionen habe.
Wenn es eine andere Methode dafür gibt, bin ich offen.
xamppgast
 
Posts: 27
Joined: 25. December 2004 16:35

Postby Wiedmann » 18. June 2007 11:47

ch möchte (egal wie) eine Datei auf dem Server (der nicht mir gehört) schreiben und wieder lesen.

Schreiben funktioniert aber nicht über "http://...". Und Lesen einer lokalen Datei über "http://" macht i.d.R auch keinen Sinn.

--> In "$datei" musst du also einen lokalen Dateisystempfad angeben und kene URI.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby xamppgast » 18. June 2007 15:39

Ich schäme mich!
ich habe mich total verrannt.
Mein cgi-Programm läuft im Internet unter
www.xxxxxxxxxx.de/cig-bin/.
Die zu schreibende Datei hat den Aufbau:
$datei = "../ct/control.txt";
Ich bin dann dummerweise davon ausgegangen, im Internet entspräche dies
www.xxxxxxxxxx.de/ct/control.txt.

Mein Problem ist also jetzt folgendes:
Im Internet funktioniert die obige Variante,
auf meinem lokalen Apache nicht.
Das cgi-Programm läuft hier unter e:/hp/hp1/cgi-bin/.
Erst wenn ich $datei = "../ct/control.txt";
ersetze durch
$datei = "e:/hp/hp1/ct/control.txt";
funktioniert es.
xamppgast
 
Posts: 27
Joined: 25. December 2004 16:35

Postby Wiedmann » 18. June 2007 15:41

Du benutzt mod_perl?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby xamppgast » 18. June 2007 15:55

Ja,
aber irgendwo habe ich gelesen, dass man die CGI Eigenschaften durch
nachfolgenden Eintrag (an 2 Stellen) in c:\xampp\apache\conf\extra\perl.conf

# PerlResponseHandler ModPerl::Registry
PerlResponseHandler ModPerl::PerlRun

erhalten kann, was ich dann auch gemacht habe.
Ich weiß dummerweise nicht welches Perl ich hatte als es auch lokal funktionierte, da hatte ich obige Änderungen garantiert nicht drin.
xamppgast
 
Posts: 27
Joined: 25. December 2004 16:35

Postby Wiedmann » 18. June 2007 15:59

Ja,

Wenn du mod_perl benutzt, ist dein Arbeitsverzeichnis nicht das Verzeichnis des Scriptes (es sei denn du wechselst im Script dort hin).
--> Deshalb schlägt der relative Pfad fehl.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby xamppgast » 18. June 2007 16:22

Demnach habe ich früher nicht mod-perl benutzt!
Weißt du welche Alternativen es gibt und wo ich die herbekomme?
Ich möchte erreichen, dass ich meine Programme lokal testen kann und sie dann unverändert ins Internet übernehmen kann.
xamppgast
 
Posts: 27
Joined: 25. December 2004 16:35

Next

Return to Perl

Who is online

Users browsing this forum: No registered users and 2 guests