Single vCard Toplu İletişim Dosya dönüştürme. Vcf dosyaları

1 Cevap php

Geçenlerde benim iPhone 3GS benim LG U990 Viewty sağa sola benim kişileri aktarmak istedim bir sorun vardı ...

Ben tüm bir bütün adreslerini içeren bir vCard dosyası benim LG kişileri ihraç

BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8:A;
TEL;CELL;CHARSET=UTF-8:*121#
REV:20120720T081000Z
END:VCARD

Şimdi yukarıdaki biçim o tek dosyada ... tüm kişiler için kendini tekrarladı ...

(: Ben onlar da iPhone alınamadı olduğunu bilmeden ... orijinal vcf dosyaları bu tek bir dosya dönüştürmek istedim

Aslında Çözüm: nihayet ben yaptım ... yeni bir Gmail hesapları kişilere orijinal toplu vCard dosyasını upload ve iTunes o listede benim kişileri senkronize etmek gerekli

Ancak, ben ÜCRETSİZ ... insanlar kişileri deşifre satın ücretli bir yazılım olarak ... Burada aşağıda kod PHP genellikle mevcut bu kodu yaptı

Contacts.txt o dosya ... metin editörü o vCard dosyasını açın ve içeriğini kopyalamak ve bu Contacts.txt dosya yapmak

$filename = "contacts.txt";
$fd = fopen ($filename, "r");
$contents = fread ($fd,filesize ($filename));

fclose ($fd);
$delimiter = "BEGIN:VCARD";
$splitcontents = explode($delimiter, $contents);
$counter = "";
$write = "";
$finalName = "";

foreach ( $splitcontents as $color )
{
    $counter = $counter+1;
    $first = strpos($color, "UTF-8:");
    $second = strpos($color, "TEL;");
    $name = substr($color, $first+6, $second-$first-7);

    $wordChunks = explode(";", $name);

    for($i = 0; $i < count($wordChunks); $i++)
    {
    	if(trim($wordChunks[0])!="" || trim($wordChunks[1])!="" )
    		$finalName .= " ".$wordChunks[$i];
    }

    $finalName= trim($finalName);	
    $fileName = $finalName.".vcf";

    $ourFileHandle = fopen($fileName, 'w') or die("can't open file");
    $stringData = "BEGIN:VCARD ".$color;
    fwrite($ourFileHandle, $stringData);
    fclose($ourFileHandle);

    $finalName = "";

}

Bu nihayet miltuple yapacaktır. yukarıda verilen formatta vcf dosyaları ...

MY QUESTION : WHAT I DID WAS VERY SIMPLE AND HAS LOOPHOLES - CAN WE DO THE ABOVE ITERATION AND FILTERING IN A PHP REGULAR EXPRESSION ?

Bu büyük bir öğrenme olurdu?

1 Cevap

  1. Dosyasını okuyun ve bağlamın bir dize almak

    NSData *String_Data = [NSData dataWithContentsOfFile:yourfilepath];
    NSString *theString = [[NSString alloc] initWithData:String_Data encoding:NSUTF8StringEncoding];
    
  2. Bağlamında, bütün çizgilerin dizi elde

    NSArray *lines = [theString componentsSeparatedByString:@"\n"];
    
  3. Her hattı üzerinden döngü için çalıştırın: veya END: BEGIN için öneki edin:

    NSString * stringForVCard=@"";
    for (int i=0; i<[lines count];i++){
    [stringForVCard stringByAppendingString:[lines objectAtIndex:i]
    if ([line hasPrefix:@"END"]) 
    [stringForVCard writeToFile:[NSString stringWithFormat:@"Make your own file path for each VCF"] atomically:TRUE encoding:NSUTF8StringEncoding error:nil ];
    //Empty the string
    stringForVCard=@"";}