[php]Herkent FLV bestanden als "application/octet-stream"

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Ik kwam erachter dat mijn video uploader geen FLV bestanden accepteerd, terwijl dit formaat wel in de accept lijst staat: "video/x-flv"

Als ik een FLV bestand open met bv GSpot zie ik ook netjes staan: Mime Type: video/x-flv

Maar upload ik deze dan komt er opeens als type:
application/octet-stream.

Ik heb gezocht op internet en in de bugs DB van PHP maar kon er niets over vinden. Ik kan natuurlijk wel "application/octet-stream" toevoegen aan de allowed list, maar dan kan je zo'n beetje alles uploaden wat los en vast zit.

Waarom kan PHP dit bestand niet goed herkennen?

Acties:
  • 0 Henk 'm!

Verwijderd

Megamind schreef op dinsdag 12 augustus 2008 @ 22:00:

Waarom kan PHP dit bestand niet goed herkennen?
Je kunt je beter afvragen: "Waarom geeft de client niet de juiste content type mee?"
Als je het type wilt proberen te raden, kun je met het shell-commando file wel een goede poging doen. Dat ding herkent een groot aantal formaten aan magic numbers en dergelijke.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Zover ik weet is er geen methode in php zelf die het type bestand kan identificeren, zoals Cheatah al aangeeft heb je hier een programma voor nodig die je via de shell kunt aanroepen. Is sowieso veiliger, vertrouw nooit je client ;)

Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
Je zou ook eens kunnen kijken naar de File Info PECL extensie van PHP http://nl.php.net/manual/en/book.fileinfo.php . Maar die zal op unix systemen ook wel gebruik maken van het file commando onderwater. Er bestaat ook nog een functie mime_content_type, maar deze is wel deprecated en niet erg betrouwbaar.

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Hm, ik heb het met verschillende browsers getest, en zelfs met firefox vanaf een debian systeempje maar niks geen flv, allemaal octet stream... Zelfs als ik FILE gebruik in linux krijg ik "application/octet-stream" te zien...

Zelfs op mijn systeem met flv players en flash video encoder geïnstalleerd krijg ik niet de goede mime type mee.

Acties:
  • 0 Henk 'm!

  • H004
  • Registratie: Maart 2006
  • Laatst online: 28-05 19:55
Gebruik je toevallig een uploader die gebruik maakt van het FileReference Object in Flash? Zo ja, door een bug wordt elk content type veranderd in "application/octet-stream".

[ Voor 53% gewijzigd door H004 op 12-08-2008 23:10 ]

Pagina: 1