0

Web サイトのファイルに NSString を投稿する必要があります。http://www.mysite.herokuapp.com/newFile.phpにファイルを作成しましたが、データを newFile.php に投稿する必要があります。

iOS の Web サーバーにこの Send Stringを見つけましたか? 以前は完璧だと思っていましたが、すぐに 2009/2010 のもので、コードが機能していないことに気付きました。少しいじった後、以下のコードを取得しましたが、機能しません。

したがって、これには 2 つの部分があります。

まず、そもそも .php ファイルに投稿する必要がありますか? .txt の方が簡単でしょうか?

次に、Web サイト側と iOS 側でこれを行うにはどうすればよいですか?

iOSでまとめたコードは次のとおりです。

// Post data onto external server
             NSString *post = @"IsThisWorking?";
             NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

             NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

             NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
             [request setURL:[NSURL URLWithString:@"https://mysite.herokuapp.com/getLikes.php"]];
             [request setHTTPMethod:@"POST"];
             [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
             [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
             [request setHTTPBody:postData];
4

2 に答える 2

0

これはサーバーで処理する必要があります。

-を受け取るメソッドNSString-あなたの例ではgetLikes.php-はサーバー上のファイルに文字列を保存する必要があります。

私はPHPに精通していませんが、このリンクが役立つかもしれません

php-ファイル書き込み

于 2012-11-12T07:36:19.000 に答える
0

iOS 終了

ASIHttpRequest または AFNetworking を取得します。

AFNetworking にいくつかの POST 変数のバグがあることがわかったので、ASIHttpRequest とその ASIFormData を使用しました。

-(void)postDataToServer
{
    NSURl url = [NSURL urlWithString:@"http://www.myserver.com/api/submitdata"];

    __block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
    [request setPostValue:myString forKey:@"data"];

    [request setCompletionBlock:^{
        NSLog(@"Server response = %@", [request responseString]);
    }];

    [request setFailedBlock:^{
        NSLog(@"Server error: %@", [[request error] localizedDescription];
    }];

    [request startAsynchronous];
}

PHP サーバー側

私は Symfony のような Web フレームワークを使用して Web サービスを構築しますが、迅速で汚れたソリューションのために、次のようにして迅速にテストできます。

class API
{
    public function saveData()
    {
        if(isset($_REQUEST['data']))
        {
            // google some php code to write to file
        }
    }
}

// when the page loads, we call the saveData and in there
// we check if data is passed in
$api = new API();
$api->saveData();
于 2012-11-12T07:44:17.663 に答える