erzeugte pdf-Datei ausserhalb Documentroot abspeichern

Alles, was PHP betrifft, kann hier besprochen werden.

erzeugte pdf-Datei ausserhalb Documentroot abspeichern

Postby superbike » 03. July 2006 08:13

Hallo Leute,
unser php erzeugt pdf-Dokumente, welche wir ausserhalb unseres Documentroot abspeichern wollen (wegen Backup usw.).
Der Apache auf Suse9.2 wurde wie folgt konfiguriert:
Code: Select all
# php Applikation; mit www.meineDomain.ch/wartungsplan erreichbar
Alias /wartungsplan "/webhosts/intranet/wartungsplan/htm_docs"

# erzeugte Dateien zum Archivieren; mit www.meineDomain.ch/wartungsplandaten erreichbar
Alias /wartungsplandaten "/webdata/intranet/wartungsplan"
    <Directory "/webdata/intranet/wartungsplan">
        allow from all
        Options +Indexes
    </Directory>


Nun hab ich ja zwei Möglichkeiten, um die Dateien ins Verzeichnis zu schreiben:
- entweder über den absoluten System-Pfad /webdata/intranet/wartungsplan/verzeichnis/
- oder den relativen Apache-Pfad http://www.meineDomain.ch/wartungsplandaten/verzeichnis/.

Ich will alles mit relativen Apache-Pfad machen, weil die absoluten Pfade dem User/Entwickler ja nicht bekannt sind. :oops: Lesen geht, schreiben aber NICHT :oops: :
failed to open stream: HTTP wrapper does not support writeable connections.

Code: Select all
<?php
if(!chdir("/webdata/intranet/wartungsplan/verzeichnis/")) {
   chdir("/webdata/intranet/wartungsplan");
   mkdir("verzeichnis", 0777);
}
//ausgabe von getcwd(): webhosts/intranet/wartungsplan/htm_docs

//Datei absolut ansprechen
    chdir("/webdata/intranet/wartungsplan");
    fopen("/webdata/intranet/wartungsplan/verzeichnis/test.txt", "wb");
// so kann ich die Datei lesen und schreiben

// Datei relativ über Apache-Freigabe ansprechen
// Verzeichnis und Pfad bestehen; absolut liegt die Datei unter /webdata/intranet/wartungsplan/verzeichnis
    fopen("http://www.meineDomain.ch/wartungsplandaten/verzeichnis/test.txt", "wb");
// so kann ich die Datei lesen, aber nicht schreiben,
// wieso nicht ??????????????????
?>


Wie kann ich mit meiner php -Applikation die erzeugten pdf nach http://www.meineDomain.ch/wartungspland ... rzeichnis/ schreiben ??
Danke für Eure Tipps.
Gruss superbike

Server: Suse9.2 mit xampp, w2k
Client: Suse9.2 / WinXP SP2, TB2.0 mit deutschem Lightning, FF2.0
User avatar
superbike
 
Posts: 38
Joined: 17. November 2004 15:17

Postby Wiedmann » 03. July 2006 12:11

Nun hab ich ja zwei Möglichkeiten, um die Dateien ins Verzeichnis zu schreiben:
- entweder über den absoluten System-Pfad /webdata/intranet/wartungsplan/verzeichnis/
- oder den relativen Apache-Pfad http://www.meineDomain.ch/wartungspland ... rzeichnis/.

PHP kann nur a) benutzen. (Steht ja aber auch in der Fehlermeldung...)

BTW:
realtive Pfade wären nicht das Problem. aber:
a) beides da oben sind absolute Angaben
b) nur a) ist eine Angabe die sich auf's Dateisystem bezieht, das PHP ja zum Speichern benutzt.
c) bei b) hast du eine URI, über die ein HTTP-Client lesend auf einen Webserver zugreift.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby superbike » 03. July 2006 14:07

Hallo Wiedmann,
Wiedmann wrote:PHP kann nur a) benutzen. (Steht ja aber auch in der Fehlermeldung...)
... ja und nein ...
Mache ich im DocumentRoot (oder dessen Unterverzeichnissen) ein fopen("http://www.meineDomain.ch/wartungsplan/test.txt", "wb") kann ich schreiben :!: ist problemlos möglich.
Wieso dann nicht auch ausserhalb bzw. in einem andern Alias-Pfad :?:
Gruss superbike

Server: Suse9.2 mit xampp, w2k
Client: Suse9.2 / WinXP SP2, TB2.0 mit deutschem Lightning, FF2.0
User avatar
superbike
 
Posts: 38
Joined: 17. November 2004 15:17

Postby Wiedmann » 03. July 2006 14:15

Mache ich im DocumentRoot (oder dessen Unterverzeichnissen) ein fopen("http://www.meineDomain.ch/wartungsplan/test.txt", "wb") kann ich schreiben ist problemlos möglich.

Also hier kann ich nur sagen:
Das möchte ich sehen...
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby superbike » 03. July 2006 15:10

Hallo Wiedmann,
haste recht, Fehlanzeige meinerseits (Fehler 1: falsch simuliert, Fehler2: abschreiben muss man(n) können).
Danke für Deine Unterstützung.
Gruss superbike

Server: Suse9.2 mit xampp, w2k
Client: Suse9.2 / WinXP SP2, TB2.0 mit deutschem Lightning, FF2.0
User avatar
superbike
 
Posts: 38
Joined: 17. November 2004 15:17


Return to PHP

Who is online

Users browsing this forum: No registered users and 14 guests