Avatar billede sebster Nybegynder
15. april 2010 - 09:28 Der er 6 kommentarer og
1 løsning

Vcard

Hej Eksperter,

jeg har kigget mig lidt omkring for at finde en løsning på at kunne lave vcard på min hjemmeside.

Jeg fandt følgende script, men syntes ikke der kommer noget output!

<?php
$fornavn="Jesper";
$efternavn="Hansen";
$tlf="70707070";
$mobil="20002000";
$adresse="Birkevej";
$by="Langballe";
$postnummer="1000";
$birth="19901010";
$email="mail@hansen.dk";

$filnavn = $fornavn.".vcf";
unlink($filnavn); // Sletter filen

$fp = fopen($filnavn, w); // Opretter filen
$string = "BEGIN:VCARD";
$string .= "VERSION:2.1";
$string .= "N:".$efternavn.$fornavn;
$string .= "FN:".$fornavn.$efternavn;
$string .= "TEL;HOME;VOICE:".$tlf;
$string .= "TEL;CELL;VOICE:".$mobil;
$string .= "ADR;HOME;ENCODING=QUOTED-PRINTABLE:;;".$adresse."=0D=0A;".$by."".$postnummer;
$string .= "LABEL;HOME;ENCODING=QUOTED-PRINTABLE:".$adresse."=0D=0A=0D=0A".$by."".$postnummer;
$string .= "BDAY:".$birth;
$string .= "EMAIL;PREF;INTERNET:".$email;
$string .= "REV:20011115T155906Z";
$string .= "END:VCARD";
fwrite($fp, $string);
?>

Er der nogle der kan hjælpe?
Avatar billede Slettet bruger
15. april 2010 - 09:50 #1
Ku' det simpelthen skyldes at du ikke lukker filen til sidst ?
- fclose($fp);
Avatar billede sebster Nybegynder
15. april 2010 - 10:05 #2
altså efter fwrite($fp, $string); ?

Jeg mangler lidt at den downloader noget!
Avatar billede Slettet bruger
15. april 2010 - 10:38 #3
Ahh, SÅ forstår jeg!
Avatar billede sebster Nybegynder
15. april 2010 - 10:48 #4
Har du også en ide til hvordan det kan løses?
Avatar billede repox Seniormester
15. april 2010 - 12:17 #5
Det du gør nu er at skrive til en fil - hvis det er fordi du gerne vil sende filen til klienten som en download fil, kan du gøre således:
<?php
    $fornavn="Jesper";
    $efternavn="Hansen";
    $tlf="70707070";
    $mobil="20002000";
    $adresse="Birkevej";
    $by="Langballe";
    $postnummer="1000";
    $birth="19901010";
    $email="mail@hansen.dk";
   
    $filnavn = $fornavn.".vcf";
    $eol = "\n";
    $string = "BEGIN:VCARD".$eol;
    $string .= "VERSION:2.1".$eol;
    $string .= "N:".$efternavn.$fornavn.$eol;
    $string .= "FN:".$fornavn.$efternavn.$eol;
    $string .= "TEL;HOME;VOICE:".$tlf.$eol;
    $string .= "TEL;CELL;VOICE:".$mobil.$eol;
    $string .= "ADR;HOME;ENCODING=QUOTED-PRINTABLE:;;".$adresse."=0D=0A;".$by."".$postnummer.$eol;
    $string .= "LABEL;HOME;ENCODING=QUOTED-PRINTABLE:".$adresse."=0D=0A=0D=0A".$by."".$postnummer.$eol;
    $string .= "BDAY:".$birth.$eol;
    $string .= "EMAIL;PREF;INTERNET:".$email.$eol;
    $string .= "REV:20011115T155906Z".$eol;
    $string .= "END:VCARD";


    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($filnavn));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . strlen($string));
    echo $string;
    exit;

?>

Jeg fjernede din filoprettelse og tilføjede linieskift til din strengs linier, således at standarden blev overholdt.
Avatar billede sebster Nybegynder
15. april 2010 - 12:33 #6
Super fedt! Det virker helt kanon!
Avatar billede sebster Nybegynder
23. april 2010 - 13:57 #7
Hvad sker der med æøå? De fucker helt vildt! Hvilken encoding kan man sætte på?
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