split von dateinamen+pfad
hasp
- perl
Hallo Ihr,
ich hab' ein kleines Problem:
$pfadname = "\test\mail\xyz.txt\n"
print $pfadname;
=> \test\mail\xyz.txt
Nun wuerde ich gerne $pfadname mit split an den \ trennen, so dass ich auf die einzelnen Pfade "getrennt" zugreifen kann.
Vielleicht stell ich mich auch nur an, aber ich kriegs nicht hin ...
Danke
Hallo Ihr,
ich hab' ein kleines Problem:
$pfadname = "\test\mail\xyz.txt\n"
print $pfadname;
=> \test\mail\xyz.txt
@arr = split(/\/,$pfadname);
print "@arr\n";
vorsicht, in $arr[0] steht nix drin!
gruss
horst
Hallo Ihr,
ich hab' ein kleines Problem:
$pfadname = "\test\mail\xyz.txt\n"
das geht übrigens auch so:
$pfadname = '\test\mail\xyz.txt';
das \n brauchst du ja eh nur für die Ausgabe:
print $pfadname."\n";
viele grüße
horst
Hallo,
günstige Gelegenheit, noch eine kleine Frage dranzuhängen:
mit $dateiname = basename($qualifizierterName); bekommt man den Dateinamen.
mit $directory = dirname($qualifizierterName); bekommt man den Verzeichnisteil des gesamten Ausdruckes.
Gibt es eine fertige Funktion, um die "Extension" abzutrennen? Die konnte ich nicht entdecken. Oder habe ich das mal wieder übersehen?
Grüße
Tom
Mahlzeit,
günstige Gelegenheit, noch eine kleine Frage dranzuhängen:
mit $dateiname = basename($qualifizierterName); bekommt man den Dateinamen.
mit $directory = dirname($qualifizierterName); bekommt man den Verzeichnisteil des gesamten Ausdruckes.
Gibt es eine fertige Funktion, um die "Extension" abzutrennen? Die konnte ich nicht entdecken. Oder habe ich das mal wieder übersehen?
Ich würde denken, dass es die Funktion nicht gibt, weil es nicht unbedingt immer eine Extension gibt. Hat man eine, wird man diese kennen und kann dementsprechen verfahren.
Fabian
Hallo!
Alle zeichen von rechts bis zum ersten Punkt(von rechts!!!) gelten als extension
Num kannst du dir deine Eigene Funktion zusammenbosseln
hi
Alle zeichen von rechts bis zum ersten Punkt(von rechts!!!) gelten als extension
und? in Linux muss ein Dateiname (oder ein Zeiger darauf) _keinen_ Punkt enthalten.
Num kannst du dir deine Eigene Funktion zusammenbosseln
ja, sicher kein Problem.
Fabian
Hi Fabi,
Alle zeichen von rechts bis zum ersten Punkt(von rechts!!!) gelten als extension
und? in Linux muss ein Dateiname (oder ein Zeiger darauf) _keinen_ Punkt enthalten.
Alles Definitionssache. Es geht hier immer noch um die Zugriffs-Library (User- und Objektverwaltung mit und ohne MySQL). Du erinnerst Dich? Ich habe heute Nacht und heute Morgen (als Du noch im bett lagst *gg*) die Funktionen für Bild- und Dateiauslieferung (pdf z.B.) (fast) fertig gemacht. Diese Kleinigkeiten fehlen mir noch dabei. Aber es funktioniert schon gut. Auch der Browser-Cache wird respektiert.
Was passiert denn eigentlich, wenn man dem auszuliefernden Bild einen falschen content-type header vorausschickt, also einen gif-header für jpg? Und welche header müsste man die andeen Dateitypen vorausschicken?
txt
pdf
doc
dot
xls
zip
und was sonst noch so wichtig[tm] ist.
Mach mich jetzt an die Definition des Zugriffssystems, grob Vorbild der NDS von Novell. Da hätten dann User Rechte auf Objekte und auf User und deren Rechte und Objekte hätten Rechte auf Objekte und auf User und deren Rechte. Wenn einScript autorisiert ist, dürfte es dann einem andeen Script Rechte erteilen oder entziehen.
Muss nochmal drüber schlafen, denke ich.
Grüße
Tom
Hallo!
Alle zeichen von rechts bis zum ersten Punkt(von rechts!!!) gelten als extension
Num kannst du dir deine Eigene Funktion zusammenbosseln
Werde ich wohl müssen.
Ist immer sichergestellt, dass basename($FullPath) keinen Slash und keine Daten mehrhinten dran hat?
Ich habe mir das so vorgestellt:
Schauen, ob überhaupt ein Punkt drin ist. Wenn nicht, dann return "";
Dann mit $nameparts = explode(".",$dateiname) zerlegen.
Dann mit return array_pop($nameparts) die Funktion beenden.
Geht das so, oder ist es ungeschickt? Die Funktion sollte schon zeitoptimiert sein, da sie später oft eingesetzt wird.
Bei der Gelegenheit nochmal gefragt:
Kann man bei PHP dafür sorgen, dass eine Library (include-Datei) die oft benötigt wird, gleich im Speicher verbleibt, so das mit Stored Procedures geht?
Grüße aus http://www.braunschweig.de
Tom
Hi Tom,
Bei der Gelegenheit nochmal gefragt:
Kann man bei PHP dafür sorgen, dass eine Library (include-Datei) die oft benötigt wird, gleich im Speicher verbleibt, so das mit Stored Procedures geht?
AFAIK nicht, dann müsstest du sie schon kompilieren und als *.dll (oder unter Linux als Modul) in der php.ini "anmelden", sodass sie zur Verfügung steht. Wie das genau geht solltest du aber googlen, das hab ich auch noch nicht ausprobiert. (Warum auch?)
Fabian
Hallo Ihr,
ich hab' ein kleines Problem:
$pfadname = "\test\mail\xyz.txt\n"
print $pfadname;
=> \test\mail\xyz.txt
@arr = split(/\/,$pfadname);
print "@arr\n";
vorsicht, in $arr[0] steht nix drin!
gruss
horst
DANKE ... auf'm Schlauch muss man stehen ...
dass in $arr[0] nix drin steht is klar ...
hasp