[PHP] Mime-types van onbekende bestandsformaten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een site gemaakt waarop gebruikers afbeeldingen kunnen omzetten naar een ander bestandsformaat. Een afbeelding wordt goedgekeurd aan de hand van het mime-type.
Dit werkt uitstekend voor de bekende formaten als JPG, BMP, PNG enzo, maar niet voor bijvoorbeeld PSD (PhotoShop) of PSP (Paint Shop Pro).
Ik heb zelf al gezocht met Google, daar vind ik wel image/x-photoshop, maar dat werkt niet. Ook image/psd werkt niet.

Hoe kan ik bijvoorbeeld Photoshop bestanden wel op het mime-type controleren? Hier op GoT vind ik wel topics over getImageSize() maar dat gebruik ik liever niet omdat die niet met PSP overweg kan.

BVD!

Acties:
  • 0 Henk 'm!

  • DR
  • Registratie: December 2000
  • Niet online

DR

Je kan toch kijken welk mime type je terug krijgt als je zelf een PSD upload :?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Corrado schreef op donderdag 10 maart 2005 @ 16:34:
Je kan toch kijken welk mime type je terug krijgt als je zelf een PSD upload :?
Dan krijg ik application/octet-stream terug.

Acties:
  • 0 Henk 'm!

Verwijderd

Je kunt op Linux-like operating systems gebruik maken van File, daar kun je vaak wel wat informatie over het bestandstype uit halen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op donderdag 10 maart 2005 @ 16:53:
Je kunt op Linux-like operating systems gebruik maken van File, daar kun je vaak wel wat informatie over het bestandstype uit halen.
Bedankt, maar het gaat hier helaas om een Windows server (met Apache en PHP 5.0.3), had ik eerder moeten zeggen.

Acties:
  • 0 Henk 'm!

  • Rob
  • Registratie: Februari 2000
  • Niet online

Rob

Je kunt mine-types op de server toevoegen.
In je apache configuratie mapje vind je een bestand mine.types

In the beginning the Internet was a bunch of smart users with dumb terminals. Now...


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
-Rob- schreef op donderdag 10 maart 2005 @ 17:03:
Je kunt mine-types op de server toevoegen.
In je apache configuratie mapje vind je een bestand mine.types
Bedankt, in dit bestand staat een lijst met mime-types met soms een extensie er achter.
Ik heb dit er bijgezet:
image/x-photoshop      psd
maar toch krijg ik application/octet-stream terug.
Uit het commentaar bovenaan mime.conf lijk ik op te maken dat dit alleen voor downloaden is?

[ Voor 3% gewijzigd door Verwijderd op 10-03-2005 17:47 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op donderdag 10 maart 2005 @ 17:47:
[...]

Bedankt, in dit bestand staat een lijst met mime-types met soms een extensie er achter.
Ik heb dit er bijgezet:

[...]
maar toch krijg ik application/octet-stream terug.
Uit het commentaar bovenaan mime.conf lijk ik op te maken dat dit alleen voor downloaden is?
Je moet het onderscheid maken in:
1. uploaden van het bestand door de client
2. downloaden van het bestand door de client.

ad 1.
Een controle van het bestand alleen op de content-type is onbetrouwbaar.
Er bestaat geen eenvoudige manier, anders dan het bestand volledig op inhoud controleren.

In het ergste geval zou de client een php-bestand kunnen uploaden met als content-type bijvoorbeeld image/jpeg met alle gevolgen van dien.

ad 2.
Als het php-script als uitvoer het geconverteerde bestand naar de gebruiker terug geeft dan moet je uiteraard zelf de juiste content-type meegeven.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je ImageMagick gebruikt hoef je voor zover ik weet niet te weten welk formaat een plaatje heeft voor de conversie.Misschien kun je kijken of je dat kan gebruiken?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Wat is er mis met getimagesize() om te kijken wat voor een plaatje het is.

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • Andre-85
  • Registratie: April 2003
  • Niet online

Andre-85

Sid

T-MOB schreef op donderdag 10 maart 2005 @ 18:21:
Wat is er mis met getimagesize() om te kijken wat voor een plaatje het is.
The getimagesize() function will determine the size of any GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, or WBMP image file and return the dimensions along with the file type and a height/width text string to be used inside a normal HTML IMG tag.
Werkt dus niet met PSP

Lorem
Whenever we feel the need to comment something, we write a method instead. - Martin Fowler
People who think they know everything really annoy those of us who know we don't - Bjarne Stroustrup


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
ImageMagick kan ook tetug geven wat voor type afbeelding je hebt aangegeven, en heb je waarschijnlijk toch al geinstalleerd staan voor de conversies.
Pagina: 1