Avatar billede mrbs Nybegynder
21. februar 2011 - 09:14 Der er 3 kommentarer

Angivelse af content-type i en php-gereneret fil

Hej!

Jeg arbejder et projekt, hvor jeg har brug for at PHP opretter en icalendar fil. Jeg har fået indholdet på plads, men når jeg opretter filen bliver det til ren tekst - selvfølgelig fordi jeg ikke har fortalt dokumentet hvilken content-type det er...

Her er den kodesnip der opretter dokumentet, men jeg er i tvivl om hvordan jeg angiver content-type for et andet dokument med PHP... Nogen løsning?

$fp = fopen('kalender.ical', 'w');
fwrite($fp, $content);
fclose($fp);
Avatar billede tjens Nybegynder
21. februar 2011 - 10:42 #1
Jeg tror ikke du kan sætte content-type når du gemmer internt på serveren.

Hvordan kommer den gemte fil fra serveren til klienten?

Hvis det er via et link i en browser, vil jeg tro, at du skal konfigurere din webserver at .ical sendes som MIME type 'text/calendar', ifølge sidste linie i afsnit "History and design" på denne side: http://en.wikipedia.org/wiki/ICalendar
Avatar billede bildsoe Nybegynder
21. februar 2011 - 10:41 #2
Hej

Jeg vil umiddelbart gætte på at hvis file-extension (.ical i dit tilfælde) ikke er nok til at den ved, hvilken content-type der er tale om så skal det angives i dit content altså i $content.

For html-filer er det jo i headeren dette bliver angivet og jeg vil derfor råde dig til at kigge på http://php.net/manual/en/function.header.php.

Jeg er ikke ekspert på området, men måske det kan hjælpe dig i den rette retning.
Avatar billede MSI-AOC Nybegynder
26. februar 2011 - 15:51 #3
Hej mrbs

Som bildsoe nævnerskal du bruge den inbyggede php funktion header() til at angive Content-Type

Se evt. denne brugbare guide til PHP->vCalendar , de fleste koncepter kan overføres til iCal:

http://www.phpbuilder.com/columns/chow20021007.php3?print_mode=1

Håber det hjælper
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester