Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我无法在Alamofire 4.0 multipartform上载中获得与图像一起传递的参数_Php_Upload_Swift3_Alamofire_Multipartform Data - Fatal编程技术网

Php 我无法在Alamofire 4.0 multipartform上载中获得与图像一起传递的参数

Php 我无法在Alamofire 4.0 multipartform上载中获得与图像一起传递的参数,php,upload,swift3,alamofire,multipartform-data,Php,Upload,Swift3,Alamofire,Multipartform Data,我无法通过多部分数据上传读取php中的参数。我使用的是Alamofire 4和swift 3。下面是我的代码: var parameters:[String: String] parameters = [ "ID": self.fieldNote.ID, "createdBy": self.fieldNote.createdBy, "workOrderID": self.fieldNote.w

我无法通过多部分数据上传读取php中的参数。我使用的是Alamofire 4和swift 3。下面是我的代码:

var parameters:[String: String]
                parameters = [
            "ID": self.fieldNote.ID,
            "createdBy": self.fieldNote.createdBy,
            "workOrderID": self.fieldNote.workOrderID,
            "customerID": self.fieldNote.customerID,
            "note"      : self.fieldNote.note,
            "status":"0",
            "imageEdit":String(self.imageEdit)
        ]

    print("parameters = \(parameters)")

    Alamofire.upload(
        multipartFormData: { multipartFormData in


                for (key, value) in parameters {
                    multipartFormData.append(value.data(using: .utf8)!, withName: key)
                }
                multipartFormData.append(UIImageJPEGRepresentation(self.imageView.image!, 1)!, withName: "pic", fileName: "user.jpg", mimeType: "image/jpeg")

    },
        to: "http://www.___.com/cp/app/functions/upload.php",
        encodingCompletion: { encodingResult in
            switch encodingResult {
            case .success(let upload, _, _):
                upload.responseJSON { response in
                    debugPrint("SUCCESS RESPONSE: \(response)")
                }
                upload.responseString { response in
                    debugPrint("SUCCESS RESPONSE: \(response)")
                }
            case .failure(let encodingError):
                print("ERROR RESPONSE: \(encodingError)")

            }
        }
    )
php:

foreach($\u文件为$key=>$value){
回声“;
回声“;
回显“$key=”。$key;
回声“;
回声“;
回显“$value=”。$value;
回声“;
回声“;
}
只是在继续php工作之前尝试回显传递的参数。 任何帮助都会很好。
谢谢

我想出了有效的语法

 var parameters:[String:String]
        parameters = [
            "ID": self.fieldNote.ID,
            "createdBy": self.fieldNote.createdBy,
            "workOrderID": self.fieldNote.workOrderID,
            "customerID": self.fieldNote.customerID,
            "note"      : self.fieldNote.note,
            "status":"0",
            "imageEdit":String(self.imageEdit)
        ]


    print("parameters = \(parameters)")

    let URL = try! URLRequest(url: "http://www.___.com/cp/app/functions/upload.php", method: .post, headers: nil)

    Alamofire.upload(multipartFormData: { (multipartFormData) in
        print("alamofire upload")

        if(self.imagePicked == true || self.imageEdit == true){

            multipartFormData.append(UIImageJPEGRepresentation(self.imageView.image!, 1)!, withName: "pic", fileName: "swift_file.jpeg", mimeType: "image/jpg")
        }

        for (key, value) in parameters {
            multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
        }
    }, with: URL, encodingCompletion: { (result) in

       print("result = \(result)")
        switch result {
        case .success(let upload, _, _):

            upload.uploadProgress(closure: { (Progress) in
                print("Upload Progress: \(Progress.fractionCompleted)")
            })

            upload.responseJSON { response in
                print(response.request ?? "")  // original URL request
                print(response.response ?? "") // URL response
                print(response.data ?? "")     // server data
                print(response.result)   // result of response serialization
                if let JSON = response.result.value {
                    print("JSON: \(JSON)")
                }
            }

            upload.responseString { response in
                debugPrint("SUCCESS RESPONSE: \(response)")
            }

        case .failure(let encodingError):
            print(encodingError)
                        }
    })
php:

 var parameters:[String:String]
        parameters = [
            "ID": self.fieldNote.ID,
            "createdBy": self.fieldNote.createdBy,
            "workOrderID": self.fieldNote.workOrderID,
            "customerID": self.fieldNote.customerID,
            "note"      : self.fieldNote.note,
            "status":"0",
            "imageEdit":String(self.imageEdit)
        ]


    print("parameters = \(parameters)")

    let URL = try! URLRequest(url: "http://www.___.com/cp/app/functions/upload.php", method: .post, headers: nil)

    Alamofire.upload(multipartFormData: { (multipartFormData) in
        print("alamofire upload")

        if(self.imagePicked == true || self.imageEdit == true){

            multipartFormData.append(UIImageJPEGRepresentation(self.imageView.image!, 1)!, withName: "pic", fileName: "swift_file.jpeg", mimeType: "image/jpg")
        }

        for (key, value) in parameters {
            multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
        }
    }, with: URL, encodingCompletion: { (result) in

       print("result = \(result)")
        switch result {
        case .success(let upload, _, _):

            upload.uploadProgress(closure: { (Progress) in
                print("Upload Progress: \(Progress.fractionCompleted)")
            })

            upload.responseJSON { response in
                print(response.request ?? "")  // original URL request
                print(response.response ?? "") // URL response
                print(response.data ?? "")     // server data
                print(response.result)   // result of response serialization
                if let JSON = response.result.value {
                    print("JSON: \(JSON)")
                }
            }

            upload.responseString { response in
                debugPrint("SUCCESS RESPONSE: \(response)")
            }

        case .failure(let encodingError):
            print(encodingError)
                        }
    })
    $ID = intval($_POST['ID']);
    $note = $db->real_escape_string($_POST['note']);
    $customerID = intval($_POST['customerID']);
    $woID = intval($_POST['workOrderID']);
    $woItemID = intval($_POST['workOrderItemID']);
    $createdBy = intval($_POST['createdBy']);
    $status = intval($_POST['status']);

    $imageEdit = boolval($_POST['imageEdit']);

    // check $_FILES['pic'] not empty
    if(!isset($_FILES['pic']) || !is_uploaded_file($_FILES['pic']['tmp_name']))
    {
        $hasImg = false;
    } else {
        $hasImg = true;
    }