[PHP] String in een Array ..

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 00:11
Ik word gek .. Ik staar me helemaal blind naar iets wat volgens mij zo simpel moet zijn.

Uit de PHP doc ->

PHP:
1
echo "Good: " . $array[$i] . "\n";


Wat wil ik?

PHP:
1
2
3
4
5
$mimetypes = array(
    'qt'        => 'video/quicktime',
    'mov'        => 'video/quicktime',
<etc .. even ingekort>    
);


Dat is mijn array.

Ik heb de volgende code ->

PHP:
1
echo "Content-Type:".$mimetypes[$ext];


Waarbij $ext de extensie bevat (dit is gechecked)
Stel $ext = mov

Dan geeft hij dat niet weer?

Maar als ik neerzet

PHP:
1
echo "Content-Type:".$mimetypes["mov"];


Dan werkt het wel.
Waarom kan het volgens de PHP doc wel , en werkt het bij mij niet?

PHP Version 4.2.2

Oja ,

het volgende heb ik ook al geprobeerd ->

PHP:
1
echo "Content-Type: {$mimetypes[$ext]}\n";


Maar er wordt niets neergezet..

Nog even voor de duidelijkheid , de waarde $ext bevat "mov"
Dat is 100% zeker..

[ Voor 32% gewijzigd door om3ega op 15-02-2004 18:06 ]


Acties:
  • 0 Henk 'm!

Verwijderd

zet er eens "" omheen

Acties:
  • 0 Henk 'm!

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 00:11
Nee , ook geprobeerd , maar dat werkt ook niet.

Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 14:31
Raar verschijnsel... misschien problemen met hoofd- en kleine letters? Of wellicht per ongeluk spaties eromheen? Doe eens
PHP:
1
echo "Content-Type:".$mimetypes[strtolower(trim($ext))];

Gezien je stellige bewering dat $ext 'mov' bevat (toch wel zonder quotes???) lijkt het me zoiets!

[ Voor 62% gewijzigd door sjroorda op 15-02-2004 18:15 ]


Acties:
  • 0 Henk 'm!

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Staat er misschien een spatie voor of achter je string? Dat de hoofd/kleine letters niet overeenkomen kan idd ook.
Dat heeft natuurlijk geen enkel nut. "$x" heeft precies dezelfde waarde als $x, alleen moet er een nieuwe string voor aangemaakt worden.

Acties:
  • 0 Henk 'm!

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 00:11
Zou het te maken kunnen hebben met een instelling in de php.ini?

Hoofd en kleine letters is het ook niet , ik krijg de volgende output bij de volgende code ->

ext bevat de string :mov
Content-Type:
Content-Type handmatig:video/quicktime

PHP:
1
2
3
echo "<br>ext bevat de string :".$ext;
echo "<br>Content-Type:".$mimetypes[$ext];
echo "<br>Content-Type handmatig:".$mimetypes["mov"];

[ Voor 21% gewijzigd door om3ega op 15-02-2004 18:20 . Reden: even verduidelijkt ]


Acties:
  • 0 Henk 'm!

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 00:11
sjroorda schreef op 15 februari 2004 @ 18:13:
Raar verschijnsel... misschien problemen met hoofd- en kleine letters? Of wellicht per ongeluk spaties eromheen? Doe eens
PHP:
1
echo "Content-Type:".$mimetypes[strtolower(trim($ext))];

Gezien je stellige bewering dat $ext 'mov' bevat (toch wel zonder quotes???) lijkt het me zoiets!
Dit is de oplossing :D

-> output

ext bevat de string :mov
Content-Type:
Content-Type handmatig:video/quicktime
sjroorda's way -> Content-Type:video/quicktime

proggie

PHP:
1
2
3
4
echo "<br>ext bevat de string :".$ext;
echo "<br>Content-Type:".$mimetypes[$ext];
echo "<br>Content-Type handmatig:".$mimetypes["mov"];
echo "<br>sjroorda's way -> Content-Type:".$mimetypes[strtolower(trim($ext))];


Dank U _/-\o_ .. Ik heb me echt een ongeluk gezocht naar dit probleem :)

[ Voor 9% gewijzigd door om3ega op 15-02-2004 18:23 ]


Acties:
  • 0 Henk 'm!

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 14:15

BrZ

Alleen is het geen nette optie, aangezien $ext dus NIET alleen de extensie bevat ;)

Acties:
  • 0 Henk 'm!

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Waarschijnlijk staat er dus een spatie na 'mov'. Met echo "<br>ext bevat de string :".$ext; zie je dat natuurlijk niet.
PHP:
1
echo "<pre>ext bevat: '$ext'</pre>";
Zo kun je alle spaties e.d. zien.

Acties:
  • 0 Henk 'm!

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 00:11
Er zit inderdaad een spatie achter :) .. Ik zal het probleem dan ook bij de bron gaan aanpakken i.p.v. een achteraf workaround :) .. wel zo netjes :)
Pagina: 1