Archiv verlassen und diese Seite im Standarddesign anzeigen : auslesen
tunichtgut.tk 03-03-2005, 21:40 <?php
$path = 'http://linkZuEiner';
$extension = '.php';
$page = 'nichtVorhandenenDatei';
$filename = $path.$page.$extension;
if ( WELCHER STRING KOMMT HIER HIN ?? ("#^[a-z0-9_]+$#i",$page) )
{
include($filename);
}
else
{
echo "Die Datei kann leider nicht gefunden werden ....";
}
?>
pls help
minimalistische anfrage ... lob und anerkennung
Schuss ins Blaue: file_exists ?
tunichtgut.tk 03-03-2005, 22:12 mit dem string könnt es klappen (lol, da hätt ich eigentlich selber drauf kommen müssen...) ... aber, das script (Quellcode anbei) führt immer nur den else-Fall aus :...
<?php
$path = 'http://tunichtgut.hosting.coolxnet.de/require/';
$extension = '.php';
$page = 'usubody';
$filename = $path.$page.$extension;
if (file_exists($filename))
{
include($filename);
}
else
{
echo "Die Datei kann leider nicht gefunden werden ....";
}
?>
...Dabei ist der Pfad vollkommen richtig ....eigentlich müsste included werden, wenn ich Pfad und dateinamen richtig gesetzt hab ...... HELP PLS
dass file_exists nur auf dem lokalen dateisystem operiert, und nicht bei remote dateien (*), ist dir bewusst?
und dass es sich für PHP um eine remote datei handelt, wenn du über http:// darauf zugreifst, ebenfalls?
(*) gut, bei PHP 5 je nach konfiguration auch anders.
tunichtgut.tk 03-03-2005, 22:28 nö.
Noch viel nützlicher wär für mich aber des probs Lösung...
penizillin 03-03-2005, 22:31 sag erstmal in eigenen worten so klar und exakt wie möglich, was diese zeile machen soll.
tunichtgut.tk 03-03-2005, 22:37 die if-zeile ?
Die soll checken, ob die datei vorhanden ist (vorher war das mit preg_match gelöst, sollte das script irgendwie sicherer machen, wenn´s geht würde ich natürlich die "Sicherste" Variante bevorzugen .....)
die else Zeile ?
na die soll den Alternativtext anzeigen, falls die datei nicht gefunden wurde ...
Und ist die Datei lokal? Dann nimm den ganzen ]http://-Kram weg. Wahsaga hat schon gesagt, warum es so nicht klappt.
penizillin 03-03-2005, 22:50 dass eine string-funktion mit einer fs-funktion bzw. remote file funktion nichts zu tun hat, sollte dir klar sein.
zweiteres ist, was du willst, ersteres ist, was du machst.
wie du die datei lokal überprüfst, wurde dir bereits gesagt.
physische existenz remote'r dateien kannst du nicht überprüfen - nur ihre zugägnlichkeit, und dafür müsstest du einen feinen http-header abschicken und die antwort auswerten (suche danach).
tunichtgut.tk 03-03-2005, 22:52 ja, die is auf dem gleichen server/Verzeichnis, aber is da net die Security heruntergeschraubt, wenn man nur relative Pfade angibt ???????????
Warum sollte das so sein? Unsicher ist es nur, wenn "blind" irgendwas includet wird... Aber das wäre ja hier nicht der Fall.
tunichtgut.tk 04-03-2005, 12:02 ich hab keine Ahnung, aber entsthen da wirklich keine Nachteile, wenn man nur die relativen Pfade angibt ??????
Und gibt es keine Auslese-Möglickeit mit kompletten Pfaden ????????
Original geschrieben von tunichtgut.tk
Und gibt es keine Auslese-Möglickeit mit kompletten Pfaden ????????
wenn du nur den Output brauchst, klar, kannst du http://... angeben.
tunichtgut.tk 04-03-2005, 15:36 nee, dann wird die Datei niemals gefunden, also kann nicht included werden und echo wird ausgegeben (mit vollständiger url wird die file bei file_exists net gefunden )
ach du sprichst von file_exists? dann lese nochmals den Post von wahsaga
tunichtgut.tk 04-03-2005, 15:53 das file_exists nicht mit remote - dateien arbeitet, weiß ich ja nun, deshalb bräucht ich ja ne andere Funktion, die auch http://...dateien überprüft .....
<?php
$path = 'http://tunichtgut.hosting.coolxnet.de/require/';
$extension = '.php';
$page = 'usubody';
$filename = $path.$page.$extension;
if (is_file($filename))
{
include($filename);
}
else
{
echo "Die Datei kann leider nicht gefunden werden ....";
}
?>
damit geht´s auch nicht, wird wieder echo ausgegeben , scheint so, als seien preg_match, file_exists, is _file und strpos schon mal aus dem rennen
(Also nochmal: Ich hätte gern eine Funktion, die überprüft, ob eine datei mit pfad http://tunichtgut.hosting.coolxnet.de/require/usubody.php
vorhanden ist... (und das so "sicher" wie möglich ....)
Original geschrieben von tunichtgut.tk
damit geht´s auch nicht, wird wieder echo ausgegeben , scheint so, als seien preg_match, file_exists, is _file und strpos schon mal aus dem rennen
preg_match und strpos waren nie im rennen - weil das zeichenkettenfunktionen sind, und die haben absolut null mit der existenz irgendwelcher dateien oder ressourcen zu tun.
(was dir penizillin übringens gestern abend schon sagte, aber offenbar bist du nicht in der lage, das hier gesagte in irgendeiner weise aufzunehmen und zu verstehen.)
(Also nochmal:
also endlich, würde ich sagen.
Ich hätte gern eine Funktion, die überprüft, ob eine datei mit pfad http://tunichtgut.hosting.coolxnet.de/require/usubody.php
vorhanden ist...
dann stelle einen entsprechenden HEAD-request an den webserver (per fsockopen o.ä.), und werte die antwort aus.
wie das geht, steht schon mehrmals hier im forum, also bitte mal suchen.
|
|