php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 22-10-2006, 16:10
itsme
 Newbie
Links : Onlinestatus : itsme ist offline
Registriert seit: Oct 2006
Beiträge: 8
itsme ist zur Zeit noch ein unbeschriebenes Blatt
Standard Dateiname überprüfen

Hallo, habe stundenlang gegoogelt und gesucht, aber war nicht erfolgreich.

Ich suche eine PHP-Funktion/Klasse, mit der ich einen String darauf überprüfen kann, ob er einen gültigen Dateinamen darstellt (es geht erstmal um die Schreibweise auf UNIX-Systemen). Gerne auch mittels RegExp.

'.php' z.B. sollte FALSE ausgeben, 'hallo.php' z.B. TRUE, 'hallo.php ' wieder FALSE usw.

Wo gibt's sowas? Ich bin selbst nicht so der Experte in Sachen Dateinamen-Schreibweise, daher suche ich entsprechenden Code.

Danke für eure Hilfe!!
Mit Zitat antworten
  #2 (permalink)  
Alt 22-10-2006, 17:00
maikos
 Registrierter Benutzer
Links : Onlinestatus : maikos ist offline
Registriert seit: Aug 2005
Ort: bad herrenalb, bw, de
Beiträge: 48
maikos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Als erstes mal würde ich mit der entsprechenden funktion einfach mal die führenden und endenden leerzeichen entfernen!
dann schauen ob in dem string .php vorkommt

und und und ....

wofür brauchst du das?

schick mal die spezifikationen!

greetz
maik
Mit Zitat antworten
  #3 (permalink)  
Alt 22-10-2006, 17:07
garyx7de
 Junior Member
Links : Onlinestatus : garyx7de ist offline
Registriert seit: May 2003
Ort: Wendlingen
Beiträge: 190
garyx7de ist zur Zeit noch ein unbeschriebenes Blatt
Standard

willst du nur überprüfen ob es eine gültige PHP datei ist?

sonst such mal nach file_exists(
__________________
Mafia Browsergame - Scripts

Wer glaubt, ein Christ zu sein, weil er die Kirche besucht, irrt sich. Man wird ja auch kein Auto, wenn man in eine Garage geht.
Albert Schweitzer (14.01.1875 - 04.08.1965)

Mit Zitat antworten
  #4 (permalink)  
Alt 22-10-2006, 17:12
itsme
 Newbie
Links : Onlinestatus : itsme ist offline
Registriert seit: Oct 2006
Beiträge: 8
itsme ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Es geht nicht um php-Dateien, sondern um irgendwelche Dateien generell:
Die Datei sollte mit dem angegebenen Dateinamen erstellbar sein und auch eine beliebige Endung (*.xxx) besitzen. Die weiteren Restriktionen, die durch UNIX vorgegeben werden, kenne ich wie gesagt nicht so genau.

Und da es keine php-interne Funktion "is_valid_filename()" o.ä. gibt, dachte ich mir, vielleicht gibts sowas schon in Form eines regulären Ausdrucks o.ä.
Mit Zitat antworten
  #5 (permalink)  
Alt 22-10-2006, 17:16
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard Re: Dateiname überprüfen

Zitat:
Original geschrieben von itsme
Ich suche eine PHP-Funktion/Klasse, mit der ich einen String darauf überprüfen kann, ob er einen gültigen Dateinamen darstellt (es geht erstmal um die Schreibweise auf UNIX-Systemen). Gerne auch mittels RegExp.

'.php' z.B. sollte FALSE ausgeben
.php ist ein gültiger Dateiname.

Eigentlich gibt es kaum ein Zeichen, dass in Dateinamen nicht vorkommen darf.
Enthält dein String kein "verbotenes Zeichen", ist es schon ein gültiger Dateiname. Die Reihenfolge der "erlaubten Zeichen" ist imho völlig egal.
Mit Zitat antworten
  #6 (permalink)  
Alt 22-10-2006, 17:36
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

ausserdem steht es jedem Programmierer eigentlich frei Dateien mit eigenen Dateiendungen zu erstellen.
Bei einem Spiel das ich gemacht habe enden die Dateien z.B. auf .cont was keine offizielle Dateiendung ist.

Du musst erst mal sagen welche Dateitypen und Namen du zulässt, dann kann man dir eine Regexp erstellen.
Mit Zitat antworten
  #7 (permalink)  
Alt 22-10-2006, 17:49
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

unerlaubte Zeichen in dateinamen sind
;+=[ ]',"*\<>/?:| und lehrzeichen.
"/" kann zwar in dem pfad, aber nicht in namen vorkommen.
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #8 (permalink)  
Alt 22-10-2006, 18:02
itsme
 Newbie
Links : Onlinestatus : itsme ist offline
Registriert seit: Oct 2006
Beiträge: 8
itsme ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, meine Vorstellungen:

erlaubte Zeichen: a-z ; A-Z ; 0-9 ; Leerzeichen ; _ ; - ; . (alles andere nicht erlaubt)

- Keine Leerzeichen am Anfang und am Ende
- Keine doppelten Leerzeichen
- Keine Punkte am Anfang und am Ende
- Keine doppelten Punkte (mehrere Punkte im Dateinamen aber möglich, z.b. 'include.inc.php')
- Dateiendung mindestens 1 Zeichen
Mit Zitat antworten
  #9 (permalink)  
Alt 22-10-2006, 18:05
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

eine datei kann auch ohne dateiendung sein.
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #10 (permalink)  
Alt 22-10-2006, 18:21
itsme
 Newbie
Links : Onlinestatus : itsme ist offline
Registriert seit: Oct 2006
Beiträge: 8
itsme ist zur Zeit noch ein unbeschriebenes Blatt
Standard

_meine_ vorstellungen
Mit Zitat antworten
  #11 (permalink)  
Alt 22-10-2006, 18:25
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

- wohl auch nicht am Anfang und am Ende, oder? Und in der Endung würde ich auch nur a-z0-9 zulassen.
PHP-Code:
function valid_name($string){
 if(
preg_match("/^(([a-z0-9_][\\.\\-\\ ]?)*[a-z0-9_])?\\.[a-z0-9]{1,8}$/i",$string)){
  return 
true;
 }
 return 
false;

hier also ein Vorschlag.

Dateien ohne nahme z.B. .htacces sind damit auch gültig.

Geändert von jmc (22-10-2006 um 18:27 Uhr)
Mit Zitat antworten
  #12 (permalink)  
Alt 22-10-2006, 19:57
itsme
 Newbie
Links : Onlinestatus : itsme ist offline
Registriert seit: Oct 2006
Beiträge: 8
itsme ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie wär der ausdruck, wenn man auf mindestens 1 Zeichen vor dem Endungspunkt bestehen würde (also ".htaccess" = ungültig)?

du hast recht: es wäre besser, wenn die Dateiendung nur a-z und 0-9 enthalten würde.
Ließe sich das machen?
Mit Zitat antworten
  #13 (permalink)  
Alt 22-10-2006, 20:01
maikos
 Registrierter Benutzer
Links : Onlinestatus : maikos ist offline
Registriert seit: Aug 2005
Ort: bad herrenalb, bw, de
Beiträge: 48
maikos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sei mir net bös, aber ein bischen selber informieren wäre net schlecht:

http://www.php-resource.de/handbuch/...preg-match.htm

ansonsten lad dir doch selfphp runter ...

phpman wäre auch net schlecht!

greetz

maik
Mit Zitat antworten
  #14 (permalink)  
Alt 22-10-2006, 23:19
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

einfach das ? weg und es sollte stimmen

PHP-Code:
function valid_name($string){
 if(
preg_match("/^([a-z0-9_][\\.\\-\\ ]?)*[a-z0-9_]\\.[a-z0-9]{1,8}$/i"$string)){
  return 
true;
 }
 return 
false;

Mit Zitat antworten
  #15 (permalink)  
Alt 23-10-2006, 02:45
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Nach diesem Audruck darf eine Dateiendung max. 8 Zeichen lang sein - was nicht Teil der Anforderungen war, oder?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:05 Uhr.