2016-10-24 4 views
1

Здравствуйте, я загружаю несколько изображений из моего приложения ios swift.Хранение нескольких файлов в базе данных PHP

Но моя проблема в том, что я не могу их сохранить в своей БД, и я уверен, что это связано с моим PHP-кодом ... Он отлично работает для одного изображения, но не может заставить его работать на 2 изображения ... Я пробовал использовать циклы, но ничего не работало, возможно, моя ошибка в том, что они внедряют их без проблем.

Вот мой код php, если кто-то может помочь, это очень ценится !!

// 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 
} 

Если кому-то нужен, чтобы увидеть больше кода, пожалуйста, дайте мне знать.

+0

Какое второе имя файла вы публикуете? –

+0

@AlbertAkki это также «файл». Я загружаю массив. Но я могу изменить его на «file0» (для первого изображения) и «file2» (для второго изображения), что вы рекомендуете? вы бы хотели увидеть быстрый код? –

+0

Да, измените имя файла и попробуйте. а также, пожалуйста, обновите PHP-код, который вам нужен, чтобы загрузить код загрузки два раза для двух файлов. –

ответ

0

Я установил мой вопрос, изменяя текущий код в моем PHP файл для добавления изображения к этому, чтобы добавить несколько изображений из массива UIImage в моем приложении IOS:

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; // 

Надеется, что это поможет другим людям тоже , для любых дальнейших подробностей просто комментарий ниже!

Смежные вопросы