webForumDet fria alternativet

Ta reda på om det är en korrekt fil

PHP

6 svar · 340 visningar · startad av Fuel

Medlem sedan okt. 20001 285 inlägg
Frågan#1

jag satt och pysslade lite med att öppna en textfil, fread fopen foo.fcg etc.. och kom då att tänka på att filen kan ha rätt filändelse (vilket man oftast kollar), men annan header / mime, som att skicka php som bild etc

hur kan man snabbt kolla en fil om den har rätt mime ? ex (text/text)

Medlem sedan juni 20001 251 inlägg
Medlem sedan juni 20034 013 inlägg
#3

En mime-typ är väl inget som finns i filsystemet utan något som du sätter när du ska skicka filen.

En textfil kan man lätt känna igen på en liten frekvensanalys. 0x0d och 0x20 är vanliga i en textfil, 0x00 förekommer inte och överhuvudtaget värden under 0x20 är mycket sällsynta (med undantag för 0x09 och 0x0a som också kan förekomma). 0x30-0x39 (siffror), 0x40-0x5a (stora bokstäver), 0x60-0x7a (små bokstäver) är också mycket vanliga. Tecken ovanför 0x7f är ovanliga.

Har du slumpmässig spridning över hela spektrat, eller 0x00 förekommer, så är det en binärfil.

En jpg-fil har för övrigt JFIF på sjunde tecknet. Png har PNG på andra tecknet. Gif har GIF som första tecken.

Prova att öppna lite olika filtyper och undersök dem så ser du snart hur du identifierar dem.

Medlem sedan okt. 20001 285 inlägg
#4

FFS .. jag var ju nyss där och snurrade .. lol helt underbart att det finns funktioner för allt :D cheers .. danke !

Medlem sedan juni 20034 013 inlägg
#5

Ja, ja, det kunde man ju ge sig på att php hade en färdig funktion för det :-)

Men det kan ju ändå vara nyttigt att veta hur man gör "på riktigt".

Medlem sedan okt. 20001 285 inlägg
#6

Tydal du börjar närma dig geek stadiet ... du kan för mycket ! :e :bire

Medlem sedan okt. 20001 285 inlägg
#7

Uppdatering: för att köra den funktionen behöver man mime_magic .. verkar fungera halvtaskigt på min lokala windows workstation kod/testburk

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)