PHP - include Permissions
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beispiel
berechtigung
binde
code
datei
doppeltes beispiel
entsprechende datei
entsprechenden stelle
folgende drei
folgendem aufruf
folgendes problem
http
index
kontext
ordner
parameter
projekt
server
variante code
verzeichnis
-
Morgen :D
ich habe ein kleines Problem ^^ und zwar habe ich in der Datei /beispiel/index.php folgende drei Codezeilen:
<?php include("../?s=beispiel"); ?>
so, jetzt habe ich folgendes Problem. In diesem Ordner habe ich keine Berechtigung, auf das Verzeichnis davor zuzugreifen. Wo stelle ich die Berechtigungen ein?
LG
Michael -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
An sich eine gute Idee, hat leider nicht Funktioniert.
Ich hoste das im Moment alles mit XAMPP. Hier mal die Fehlermeldungen mit deinem Beispiel:
Warning: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in C:\xampp\htdocs\projekte\beispielProjekt\beispiel\index.php on line 2 Warning: include(http://localhost/projekte/beispielProjekt/?s=server): failed to open stream: no suitable wrapper could be found in C:\xampp\htdocs\projekte\beispielProjekt\beispiel\index.php on line 2 Warning: include(): Failed opening 'http://localhost/projekte/beispielProjekt/?s=server' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\projekte\beispielProjekt\beispiel\index.php on line 2
Und mit meiner Variante:
Warning: include(../?s=server): failed to open stream: No error in C:\xampp\htdocs\projekte\beispielProjekt\beispiel\index.php on line 2 Warning: include(): Failed opening '../?s=server' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\projekte\beispielProjekt\beispiel\index.php on line 2
LG
Michael -
Hallo,
du hast ein Verständnis Problem, auf Windows kann eine Datei nicht ?s=beispiel heißen, da weder das ? noch das = im Dateinamen erlaubt sind.
Ich denke, dass du die index.php einbinden willst, oder?
Wenn das der Fall ist mache das auch:<?php include '../index.php';
Nun zu deinem Verständisproblem, include erzeugt keinen neuen Request, wie den, den du mit deinem Browser absetzt. Stattdessen läd es die entsprechende Datei nach und führt sie im Kontext des laufenden Scripts aus. Oder um es einfacher auszudrücken wird die includierte Datei in den Programmfluss eingefügt.
Um dir das Beispielhaft zu zeigen sind hier zwei PHP-Dateien, a.php und b.php.
a.php:<?php // Gebe den Parameter s aus z.B. bei // folgendem Aufruf: http://example.org/a.php?s=beispiel echo $_GET['s'] . PHP_EOL; // binde b.php ein include 'b.php';
b.php:<?php // Gebe den Parameter s aus z.B. bei // folgendem Aufruf: http://example.org/a.php?s=beispiel // oder bei: http://example.org/b.php?s=beispiel echo $_GET['s'] . PHP_EOL;
Intern macht php aus diesem Programm soetwas:<?php echo $_GET['s'] . PHP_EOL; echo $_GET['s'] . PHP_EOL;
Wie man sieht wird die Datei einfach nur an der entsprechenden Stelle eingebunden.
Verstanden?
Ansonsten einfach nochmal nachfragen.
Mit freundlichen Grüßen
* Edit: Doppeltes Beispiel korrigiert…
Beitrag zuletzt geändert: 2.9.2013 23:02:48 von nemoinho -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage