2015-07-09 1 views
5

У меня возникли проблемы с получением компонента загрузки UIkit, работающего в моем веб-приложении. Я включил компонент загрузки JS, placeholder css и form-file css.UIkit CSS компонент загрузки загружаемых файлов/удалений

код прямо из примеров в документации даже не работает для меня. (С некоторыми незначительными изменениями)

HTML

<div id="upload-drop" class="uk-placeholder"> 
    <i class="uk-icon-cloud-upload uk-icon-medium uk-text-muted uk-margin-small-right"></i> 
    <input class="uk-form-file" id="upload-select" type="file" accept="image/*"> 
</div> 

JS

$(function(){ 
    var settings = { 
     action: 'app/components/Parts/upload.php' 
    }; 

    var select = UIkit.uploadSelect($("#upload-select"), settings), 
     drop = UIkit.uploadDrop($("#upload-drop"), settings); 
    }); 
}); 

upload.php

<script> 
    document.location.href = "/test/#/; 
</script> 
+0

Я использую компонент загрузки с Codeigniter, он работает как шарм. Прежде чем попасть в php-часть, вы должны проверить свой html-файл. Вы включили все необходимые js-скрипты, jquery, uikit, upload? (заказ также имеет значение) – cssBlaster21895

ответ

0

Я считаю, что вы можете реализовать логику PHP от this article для работы с Javascript UiKit.

У меня была та же проблема, и это помогло мне.

+0

Я пришел с помощью DropZone, чтобы решить свои проблемы. –

0

Хорошо, это старый. В новой версии UIkit 3 также есть компонент загрузки, и он довольно прост в использовании. Возьмите разметку прямо с docs и поместите URL-адрес скрипта в параметре url.

UIkit.upload(".test-upload", { 
    url: "upload.php",//your upload script can be some kind of route f.e. user/upload 
    multiple: true, 
... 

И код PHP может просто выглядеть как:

if(isset($_FILES['files'])){ 

    for($i=0;$i<count($_FILES['files']['name']);$i++){ 
     foreach($_FILES['files'] as $v=>$file) { 
      $errors = array(); 
      $file_name = $_FILES['files']['name'][$i]; 
      $file_size = $_FILES['files']['size'][$i]; 
      $file_tmp = $_FILES['files']['tmp_name'][$i]; 
      $file_type = $_FILES['files']['type'][$i]; 
      $file_ext = strtolower(end(explode('.',$_FILES['files']['name'][$i]))); 

      $extensions = array("jpeg","jpg","png","docx","doc","pdf"); 

      if(in_array($file_ext,$extensions) === true){ 
       move_uploaded_file($file_tmp,"../../site/assets/files."/".strtolower($sanitizer->name($file_name))); 

      } 
     } 
    } 
} 
+0

С тех пор я перешел в Dropzone и Bootstrap. Мне больше нравятся эти утилиты. На мой взгляд, UIKit красивее, но гораздо менее отполировано. Спасибо за ваш вклад. –

+1

Теперь есть 3-е издание. Попробуй попробовать :) Я только что написал ответ, потому что у этого вопроса много просмотров. – cssBlaster21895