1

以下を使用して、サーバー上のすべてのテキスト ファイルのリストを返します。

echo json_encode(glob("*.{txt}", GLOB_BRACE));

私が抱えている問題は、アプリからこのphpファイルを実行すると、ディレクトリにテキストファイルが1つしかない場合、期待どおりにファイル名のJSONが返されますが、そのテキストファイルの名前を変更するか、追加のものを追加すると、引き続き元の実行時に存在したファイルの名前のみを返します。

私は PHP に非常に慣れていないので、毎回更新するのではなく、キャッシュされたデータを返すのか、それともアプリ側でそれが起こっているのか疑問に思っています。

アプリのコードは次のとおりです。

NSURLSessionDataTask *getTheFileList = [session dataTaskWithURL:[NSURL URLWithString:@"http://www.myserver.com/utility/listJSON2.php"] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {


    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    NSEnumerator *enumerator = [json objectEnumerator];
    id value;

    while ((value = [enumerator nextObject]))
    {
        /* code that acts on the dictionary’s values */
        NSLog(@"text file name: %@", value);
    }

}];

ありがとう!

4

1 に答える 1

2

答えは、キャッシュされたデータを実際に受け取っていて、それが問題の原因だったということです。私が見つけた 2 つの解決策は、ephemeralSessionConfiguration を使用するか、defaultSessionConfiguration を使用してから URLCache = NULL を設定することです。

どちらの方法でも、サーバーからプルしていることを確認できます。

于 2014-01-19T03:17:04.623 に答える