SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.09.2003, 19:39:11
web-wg web-wg ist offline
Anfänger
 
Registriert seit: May 2003
Ort: Hannover
Beiträge: 34
preg_match

Hi, ich verstehe die folgende function nicht so ganz:


if (!preg_match('/^.{1,2}/', $file))

Die sorgt dafür, das die Verzeichnisse [..] oder zb .htaccess nicht angezeigt werden. Was muss ich da ein bauen, das z.B. *.php oder *.html nicht angezeigt werden???

Wäre dankbar für eure Hilfe!

Ralf
Mit Zitat antworten
  #2  
Alt 07.09.2003, 20:01:10
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ich bin nicht sonderlich geübt mit regulären Ausdrücken, also bitte hab Nachsicht mit mir. :)

Versuch's mal so:
PHP-Code:
if (!preg_match('/^.{1,2}(htm*|php)?/'$file)) 
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 07.09.2003, 20:23:58
web-wg web-wg ist offline
Anfänger
 
Registriert seit: May 2003
Ort: Hannover
Beiträge: 34
hm...

geht irgendwie nicht!
Wenn ich das so einbaue, werden sowohl die Punkte (./..) als auch die *.php Datein angezeigt...

ich werde weiter rumprobieren...

Ralf
Mit Zitat antworten
  #4  
Alt 07.09.2003, 20:34:24
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
So geht's:
PHP-Code:
if (!preg_match('/^.{1,2}|(.*^.)*.(php|htm|txt|css)/is'$file)) 
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 07.09.2003, 23:19:55
web-wg web-wg ist offline
Anfänger
 
Registriert seit: May 2003
Ort: Hannover
Beiträge: 34
wahrscheinlich..

...bin ich zu doof!
Wenn ich das so übernehme, dann zeigt er nix mehr an...
Mit Zitat antworten
  #6  
Alt 08.09.2003, 02:57:50
sourcecode sourcecode ist offline
Junior Member
 
Registriert seit: May 2003
Beiträge: 287
sowas geht auch ohne pregmatch. kannst autoindexing mit indexignore verwenden, oder du fragst einfach die letzten zeichen (substring) des dateinamens ab.
Mit Zitat antworten
  #7  
Alt 08.09.2003, 07:15:11
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
...bin ich zu doof!
Wenn ich das so übernehme, dann zeigt er nix mehr an...
Liegt vielleicht daran, dass mit der Variante fast jede brauchbare Datei ausgeblendet wird? ;)
Lass doch einfach mal php und ein Trennzeichen weg, dann sollten entsprechende Dateien wieder angezeigt werden.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #8  
Alt 09.09.2003, 14:15:45
tapferesschneid tapferesschneid ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 194
Also hier ist noch jemand ohne Ahnung, aber vieleicht funktioniert das hier:

PHP-Code:
$needle '/.(php|htm(l)?)$/';

if (!
preg_match($needle,$haystack)) echo 'not ';
echo 
'found'
So viel ich verstanden habe: Die »/« am Anfang und Ende sind die sog. Delimiter, müssen sein.
Das »$« am Ende heißt, daß $haystack mit der gesuchten Kette enden muß.
».« ist der escapte Punkt vor Deiner Dateiendung.
»|« heißt »oder«.
Die Konstruktion »(php|htm(l)?)« prüft, ob nach dem Punkt entweder ein »php« oder ein »htm« mit optional (dafür steht die »{0,1}« ersetzende Kurzform »?«) anschließendem »l« steht.

Weitere Kurzformen wären »+« für »1 oder mehrere« und »*« für »0 oder mehrere«.

Die beiden nachstehenden $needle prüfen in meinem Gästebuch die Plausibilität von e-mail- bzw. Web-Adressen (Das »^« am Anfang bedeutet, analog zum »$« am Ende, daß $haystack mit der gesuchten Kette beginnen muß).

$needle = '/^[a-z0-9_.-]+@[a-z0-9_.-]+.[a-z]{2,4}$/';
$needle = '/^(http://)?[a-z0-9_.-]+.[a-z]{2,4}(/[a-z0-9_./#~?&=-]*)*$/';
Mit Zitat antworten
  #9  
Alt 27.09.2003, 10:23:56
Benutzerbild von flobee
flobee flobee ist offline
Junior Member
 
Registriert seit: Apr 2002
Beiträge: 284
für ordner?

für ordner allein (zum verstecken von [.] , [..]) müsste das so aussehen?
PHP-Code:
$needle ="/^.+/i"
ich probier mich gerade :-)
auf meinem WINdoof geht das zumindest
__________________
~~~~~~~~~~
Mit Zitat antworten
  #10  
Alt 27.09.2003, 10:39:02
Carsten Franke
Guest
 
Beiträge: n/a
Damit wird doch jeder Verzeichniseintrag, der einen oder zwei Punkte enthält ausgeblendet, nicht oder?

Müsste das nicht |^[^.]{1,2}| heißen? Damit wird doch eigentlich alles ausgeschlossen, was mit einem oder zwei Punkten anfängt. Die .htaccess also auch.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:16:33 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt