2016-10-24 3 views
1

Hallo, ich lade mehrere Bilder von meiner ios swift App hoch.Mehrere Dateien in der Datenbank speichern PHP

Aber mein Problem ist, ich kann nicht verwalten, um sie in meiner DB zu speichern, und ich bin mir ziemlich sicher, es ist mit meinem PHP-Code zu tun ... Es funktioniert gut für 1 Bild, kann aber nicht für 2 arbeiten Bilder ... Ich habe versucht, Loops zu verwenden, aber nichts hat funktioniert, wahrscheinlich meine Schuld für die Implementierung von ihnen incorrectly.

Hier ist mein PHP-Code, wenn jemand helfen kann, ist es sehr geschätzt!

// STEP 2.3 Move uploaded file 
$folder = $folder . "/" . basename($_FILES["file"]["name"]); 

if (move_uploaded_file($_FILES["file"]["tmp_name"], $folder)) { 


    $returnArray["message"] = "Post has been made with picture"; 
    $blogImage1 = "http://**********/Files/Posts/ImgPosts/" .$id . "/" . $Title . "-". $uuid . "/" . basename($_FILES["file"]["name"]); // 

} else { 
//$returnArray["message"] = "Post has been made without picture"; 
$Image1 = ""; 

} 

Swift Code

func createBodyWithParameters(parameters: NSMutableDictionary?,boundary: String) -> NSData { 
    let body = NSMutableData() 

    if parameters != nil { 
     for (key, value) in parameters! { 

      if(value is String || value is NSString){ 
       body.appendString("--\(boundary)\r\n") 
       body.appendString("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n") 
       body.appendString("\(value)\r\n") 
      } 
      else if(value is [UIImage]){ 
       var i = 0; 
       for image in value as! [UIImage]{ 
        let filename = "image\(i).jpg" 
        let data = UIImageJPEGRepresentation(image,1); 
        let mimetype = "image/jpg" 
        //"\(key)\(i)" 
        body.appendString("--\(boundary)\r\n") 
        body.appendString("Content-Disposition: form-data; name=\"\(key)\(i)\"; filename=\"\(filename)\"\r\n") 
        body.appendString("Content-Type: \(mimetype)\r\n\r\n") 
        body.append(data!) 
        body.appendString("\r\n") 
        i += 1; 
       } 


      } 
     } 
    } 
    body.appendString("--\(boundary)--\r\n") 
    //  NSLog("data %@",NSString(data: body, encoding: NSUTF8StringEncoding)!); 
    return body 
} 

Wenn jemand mehr Code zu sehen braucht, lassen Sie es mich wissen.

+0

Wie lautet der zweite Dateiname, den Sie posten? –

+0

@AlbertAkki es ist auch "Datei" Ich lade ein Array..Aber ich kann es in "file0" (für das erste Bild) und "file2" (für das zweite Bild) ändern, was empfehlen Sie? Möchten Sie den schnellen Code sehen? –

+0

Ja, ändere den Dateinamen und versuche es. und bitte aktualisieren Sie auch den PHP-Code, den Sie Upload-Code zwei Mal für zwei Datei schreiben müssen –

Antwort

0

fixierte ich meine Frage nach dem aktuellen Code in meiner PHP-Datei zu ändern, das Bildes zu dieser für das Hinzufügen, mehrere Bilder von einem UIImage Array in meinem IOS App hinzuzufügen:

foreach ($_FILES["file"]["tmp_name"] as $index => $tmp_name) { 
    $filePath = $folder . "/" . basename($_FILES["file"]["name"][$index]); 
    if (move_uploaded_file($tmp_name, $filePath)) { 
     // rename like you want to 
     $filePath = "http://**.**.***.**/Files/Posts/IMGPosts/" .$id . "/" . $Title . "-". $uuid . "/" . basename($_FILES["file"]["name"][$index = 0]); // 
     $Image1 = $filePath; // 
     $filePath = "http://**.**.***.**/Files/Posts/IMGPosts/" .$id . "/" . $Title . "-". $uuid . "/" . basename($_FILES["file"]["name"][$index = 1]); // 
     $Image2 = $filePath; // 

hoffe, das hilft andere Menschen zu , für weitere Details kommentieren Sie bitte unten!

Verwandte Themen