1

我使用以下命令返回服務器上所有文本文件的列表。用PHP返回目錄列表

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

我有是當我從我的應用程序目錄執行此PHP文件,只有一個文本文件中的問題,它的預期回報文件名的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); 
    } 

}]; 

謝謝!

+0

如果我從手機中刪除應用程序,然後重新安裝並重新運行應用程序,然後文件列表更新一次。然後,每次都會返回該更新,直到我重複該過程。它似乎被緩存在電話的某處,但我無法弄清楚在哪裏。我已經嘗試過finsihTaskAndInvalidate和flushWithCompletionHandler:但無濟於事。真的開始激怒我! – Scooter

+0

已解決......有點。出於絕望,我切換到ephemeralSessionConfiguration,它現在像預期的那樣工作。 – Scooter

+0

最後,如果您使用[NSURLSessionConfiguration defaultSessionConfiguration],則設置sessionConfig.URLCache = NULL,並且上述行爲也會停止。 – Scooter

回答

2

答案是我確實收到緩存的數據,這是我的問題。我發現的兩個解決方案是使用ephemeralSessionConfiguration或使用defaultSessionConfiguration,但隨後設置URLCache = NULL。

兩種方式都可以確保您從服務器上取下。

+0

您應該將此標記爲正確答案。 –

+0

完成。謝謝克萊! – Scooter