[PHP] fopen funktioniert nicht

Nur mal so eine Frage am Rande, Du hast aber schonmal per phpinfo() nachgeschaut ob fopen überhaupt verfügbar ist? Das kann man deaktivieren, aber da würde dann warscheinlich ne andere Fehlermeldung kommen.
 
Ich hab noch was verschwiegen:
Und zwar hab ich noch GET-Variablen drin:
$import= fopen("../zwei/import.php?code=123","r");
Ich habe es nämlich gerade ohne die Parameter ausprobiert, dann geht es.
 
Ich hab noch was verschwiegen:
Und zwar hab ich noch GET-Variablen drin:
LoL, dass es dann nicht funktioniert, is ja wohl klar :LOL:

Hast du schon mal probiert, im Texteditor die Datei text1.doc?arg1=23 zu öffnen ? Da wirft dir wohl jeder ne Fehlermeldung, dass das kein Dateiname is :ugly:
 
Naja, wenn ich ja eine komplette URL im fopen eingebe, funktioniert es da.

Wie kann ich denn nun eine Datei mit GET Parametern öffnen?
 
Wie kann ich denn nun eine Datei mit GET Parametern öffnen?
Indem du sie erst über den Webserver und den Parser lässt.
Du kannst (so die PHP-Konfiguration das zulässt) das Script extern öffnen. Allerdings braucht das Script dann den Traffic extra, weil du einmal die Ausgabe hochlädst und dann wieder runterlädst, was Quark is.
PHP:
$fp=fopen("https://www.example.com/foo.php?bar=1","r");
// wenn file-wrapper aktiv
Ich glaube aber eher, dass du in deinem Script einen kompletten Denkfehler drin hast. Niemand will eine Datei auf seinem eigenen Webspace durch den Parser jagen und dann das Ergebnis mit fopen() einlesen. Da stinkt irgendwas in der Struktur gewaltig :roll:

Was hast du vor ? - keinen Code, nur, was du machen willst
 
Aber an den Variablen kann es nicht liegen!
Denkt mal an EF, dort benutzt man auch fopen() mit GET...
trim()e einfach mal den String bevor du den darein setzt, so wie ich es oben mal geschrieben habe!

Sonst versuche doch mal andere Funktionen, file_get_contents(), file() gibts ja noch
 
Hm.. auf meinem eigenen (habe ja leider keine Zugangsdaten zum EF Server :ugly: ).
Und wieso geht das dann vom EF-Server? Hat der best. Einstellungen?
Wieso "vom" EF-Server ? Auf den EF-Server.

Nochmal:
  • Du kannst den PHP-Parser nur zum Laufen bringen, wenn du über den Webserver das Script aufrufst. Ein "?bla=1" gibt es nunmal im Dateisystem nicht.
  • Um den Webserver zum Laufen zu bringen, musst du über das HTTP-Protokoll kommunizieren und eine URL anfordern.
  • Wenn du mit PHP eine Datei öffnest, öffnest du sie aber einfach. Das geht auch ohne HTTP. Das geht sogar ohne Webserver, wenns sein muss.
Würdest du eine Loseseite auf dem EF-Server installieren und versuchen mit
PHP:
$fp=fopen("lose/get.php?kid=69505","r");
Lose einzuziehen, wirft dir der PHP-Parser dort dieselbe Fehlermeldung.
 
Oh, ich depp^^
Habe es nun auch begriffen, ist auch klar.

Aber noch eine Frage, wie wäre es wenn er in fopen() den ganzen Link(also mit https://blablabla) reinsetzt. Dann wird das doch als externer Zugriff bewertet und der Parser wird angeschmissen, oder weiß das Script, dass eine Datei vom eigenen Server benutzt werden will und liest die Datei einfach nur aus?
 
Nein, es geht um ein Script, wo man sich eine Druckansicht anzeigen lassen kann. Das Druckansicht Script ist fertig. Nun sollen einmal im Monat ALLE Druckansichten zusätzlich in der Datenbank gespeichert werden.

Nun gibt es also das Script drucken.php?aufgabe=224351

Aus der Aufgabendatenbank werden die neuen Aufgabennummern abgerufen und die Druckansichten für diese abgerufen und in die Datenbank geschrieben.
 
Uff wieso denn so umständlich das kannst Du doch mit css viel simpler und besser gestalten. Schau dir mal die Media Atribute bei den css an. Ich finde des super simple.