2011-08-13 190 views
0

我已完成我正在處理的大部分應用程序,但遇到了問題。基本上,我寫的是將音頻從我的服務器傳輸到iPod,並播放它而不必保存文件。它有一個GUI,允許用戶選擇他們想要收聽的文件,並且工作起來非常完美。在FTP服務器上修改文件

我的問題是,我希望能夠有某種計數器每次用戶監聽文件時更新。我在項目中有一個文件「TotalDownloads.txt」,我計劃使用它來存儲新值並上傳回服務器,但是當代碼執行時,該文件內沒有任何更改。我也嘗試過聲明文件@「TotalDownloads.txt」,但是它在名爲「TotalDownloads.txt」的Macintosh HD中創建了一個新文件。

這兩個標識符「// - 」和「 - //」將解析文件中的數字,當我得出這個數字時,特別是要隔離數字值,是否應該包含任何格式。最終,我想要記錄每一個文件。

我從服務器下載文本文件並將其讀入iPhone時沒有問題,但發送回來時出現問題。什麼是最簡單的方法1,在iPhone上創建臨時文件文本文件,2,將其上傳回服務器以替換現有文件?

有沒有辦法只是修改服務器上的文件?

任何幫助表示讚賞。

下面是我到目前爲止有:

- (IBAction)action 
{ 
    NSURL *textURL = [NSURL URLWithString:@"http://www.faithlifefellowship.us/Audio/TotalDownloads.txt"]; 
    NSString *textFromFile = [NSString stringWithContentsOfURL:textURL encoding:NSUTF8StringEncoding error:false]; 
    int click = [textFromFile intValue]; 
    click += 1; 

    NSString *replace = @"//-"; 
    NSString *clicks = [NSString stringWithFormat:@"%d",click]; 
    replace = [replace stringByAppendingString:clicks]; 
    replace = [replace stringByAppendingString:@"-//"]; 

    //test is a label I used to check to make sure the download count was being read properly. 
    test.text = clicks; 

    [replace writeToFile:[[NSBundle mainBundle] pathForResource:@"TotalDownloads" ofType:@"txt"]atomically:YES encoding:NSUTF8StringEncoding error:NULL]; 
} 

回答

1

這裏是我建議你這樣做的最佳方式。

  1. 在接受獲取請求的服務器上設置一個頁面。
  2. 對頁面進行編碼以從該請求獲取值(應該是您嘗試更新的文件的名稱)並更新該路徑中的文件。
  3. 從您的應用程序,使用的UIWebView這樣:

UIWebView* web = [UIWebView new]; [web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.mydomain.com/myPage.php"]]];

web = nil;

的Presto!