Как я могу получить значения параметров из Swift, загрузка файла уже работает, я пробовал $ _GET [«familyId»], но это не сработало?
Swift:
let manager = AFHTTPRequestOperationManager()
let url = "http://localhost/test/upload.php"var fileURL = NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource("test_1", ofType: "mov")!)
var params = [
"familyId":locationd,
"contentBody" : "Some body content for the test application",
"name" : "the name/title",
"typeOfContent":"photo"]
manager.POST( url, parameters: params,
constructingBodyWithBlock: { (data: AFMultipartFormData!) in
println("")
var res = data.appendPartWithFileURL(fileURL, name: "fileToUpload", error: nil)
println("was file added properly to the body? \(res)")
},
success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in
println("Yes thies was a success")
},
failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in
println("We got an error here.. \(error.localizedDescription)")
})
PHP:
$target_dir = "uploads/";
$target_dir = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir)) {
echo json_encode([
$user_info;
"Message" => "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.",
"Status" => "OK",
]);
Проблема, с которой вы сталкиваетесь, заключается в том, что вы ищете не в том месте. Как вы уже сказали, вы используете метод POST AFNetworking для POST-данных. Акцент на пост. GET и POST — две совершенно разные вещи. GET используется для получения значений, хранящихся в URL, таких как www.example.com/example-get.php?key1=value1&key2=value2
, Вы получите доступ к различным значениям в PHP, выполнив $_GET['key1']
, POST это что-то другое. Это отправляется вместе с телом HTTP-сообщения, и его нельзя увидеть в истории просмотра или в URL. Вы сможете получить доступ к своим данным с помощью $_POST['familyId']
, Я бы посоветовал прочитать в нем немного больше, поэтому я предоставлю этот начать с.
Удачи вам.
Ваша главная проблема в том, что переменные находятся в $_POST
и вы ищете в $_GET
,
Из кода видно, что данные отправляются в теле сообщения запроса. Это в основном то, что сказал jkaufman в своем ответе.
Попробуйте какой-нибудь вариант:
<?php
$FamilyID = $_POST['familyId'];
// ... do stuff with it ...
?>
Вы можете найти эти ссылки информативными (поскольку вы запросили достоверные и / или официальные источники).