[PHP] parse_url + Versie 4.3.1

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik gebruik in een script de functie parse_url om van een file url de naam en het pad eruit te halen.

Ik gebruik de functie op de volgende manier:

$result = parse_url("file://C:/blaat/blaat.txt");

Dit gaf in oudere versies van PHP geen probleem, maar sinds de host waar het script op draait heeft geupdate naar 4.3.1 geeft dit een foutmelding.

In de documentatie kan ik alleen maar vinden dat je errors krijgt als de url niet goed is. Maar dit is toch een goede url of niet?

Hoe zou ik dit anders op kunnen lossen?

Of moet ik dit melden als een bug in PHP?

In de changelog staat niets over de parse_url functie.

[ Voor 12% gewijzigd door Verwijderd op 27-03-2003 18:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik weet niet of het veel uit zal maken, maar in mn IE staat file:///X:/bla
Dus met een derde slash.

Acties:
  • 0 Henk 'm!

Verwijderd

filename kan je ophalen met basename('c:/blabla/file.whatever');
dir met dirname('c:/blabla/file.whatever');

rtfm !!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 27 March 2003 @ 18:57:
filename kan je ophalen met basename('c:/blabla/file.whatever');
dir met dirname('c:/blabla/file.whatever');

rtfm !!
En dank u voor deze vriendelijke reply, het is toevallig zo dat er ook http url's ipv files in kunnen komen. Daarom is de parse_url zo handig.
Verwijderd schreef op 27 March 2003 @ 18:54:
Ik weet niet of het veel uit zal maken, maar in mn IE staat file:///X:/bla
Dus met een derde slash.
Nope, maakt niets uit.

[ Voor 28% gewijzigd door Verwijderd op 27-03-2003 19:43 ]


Acties:
  • 0 Henk 'm!

Verwijderd

if(is_file($urlOrFile)) {
codeForFile();
}
else {
codeForUrl();
}

Filepaths zijn geen URLs, waarom zou je ze zo willen behandelen ?

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
file://C:/blaat/blaat.txt is geen geldige url. Dan zou je die tweede dubbele punt moeten vertalen naar een '|'. Helpt dat misschien?

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Even ter verduidelijking; parse_url ziet C: waarschijnlijk als host:port, maar dan is de port leeg. Vandaar dus de dubbele punt vervangen door een '|'.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

Verwijderd

je kan ook gewoon explode op \ oid. :)
Pagina: 1