Изменение файла на FTP-сервере - PullRequest
0 голосов
/ 13 августа 2011

Я завершил большую часть своего приложения, над которым я работаю, но столкнулся с проблемой.По сути, то, что я написал, передает потоковое аудио с моего сервера на iPod и воспроизводит его без необходимости сохранения файла.Он имеет графический интерфейс, который позволяет пользователю выбрать файл, который он хочет прослушать, и он работает безупречно.

Моя проблема в том, что я хочу иметь какой-то счетчик, который обновляется каждый раз, когда пользователь слушает файл.У меня есть файл в проекте «TotalDownloads.txt», который я планировал использовать для сохранения нового значения и загрузки на сервер, но когда код выполняется, в этом файле ничего не меняется.Я также попытался просто объявить файл @ "TotalDownloads.txt", но в Macintosh HD был создан новый файл с именем "TotalDownloads.txt".

Два идентификатора "// -" и "- //" предназначены для синтаксического анализа файла на предмет номера, когда я выясню это, особенно для выделения числового значения, если будет какое-либо форматирование.В конце концов, я хочу иметь счетчик для каждого из файлов.

У меня нет проблем с загрузкой текстового файла с сервера и чтением его в 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 голос
/ 03 марта 2012

Вот лучший способ, который я предлагаю вам сделать.

  1. Настройте страницу на своем сервере, которая принимает запрос на получение.
  2. Кодируйте страницу, чтобы получить значение из этого запроса на получение (которое должно быть именем файла, которым вы являетесьпытается обновить) и обновите файл по этому пути.
  3. Из вашего приложения используйте UIWebView следующим образом:

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

web = nil;

Presto!

...