2017-05-29 238 views
0

我正在使用這個插件,我正在尋找很多關於它的信息,我想幫助我。 1)當超過5000個文件通過jsone不再生成 對此,我正在努力打電話的數據庫的ID,但我仍然沒有得到例如fotos.php? ID = 1,只有生成查詢 2)更新 更新數據庫jquery文件上傳php數據庫blueimp

已經在數據這是位於/server/php/index.php

class CustomUploadHandler extends UploadHandler { 


protected function initialize() { 
    $this->db = new mysqli(
     $this->options['db_host'], 
     $this->options['db_user'], 
     $this->options['db_pass'], 
     $this->options['db_name'] 
    ); 
    parent::initialize(); 
    $this->db->close(); 
} 

protected function handle_form_data($file, $index) { 
    $file->title = @$_REQUEST['title'][$index]; 
    $file->description = @$_REQUEST['description'][$index]; 
    $file->padre = @$_REQUEST['padre'][$index]; 


} 

protected function handle_file_upload($uploaded_file, $name, $size, $type, $error, 
             $index = null, $content_range = null) { 
    $file = parent::handle_file_upload(
     $uploaded_file, $name, $size, $type, $error, $index, $content_range 
    ); 
    if (empty($file->error)) { 
     $sql = 'INSERT INTO `'.$this->options['db_table'] 
      .'` (`ruta_adjunto`, `id_documento`, `tipo_adjunto`, `nombre_adjunto`, `descripcion_adjunto`)' 
      .' VALUES (?, ?, ?, ?, ?)'; 
     $query = $this->db->prepare($sql); 
     $query->bind_param(
      'sisss', 
      $file->name, 
      $file->padre, //id_documento luego ver como traer el id 
      $file->type, 
      $file->title, 
      $file->description 
     ); 
     $query->execute(); 
     //echo json_encode($query->error); 
     $file->id_adjunto = $this->db->insert_id; 
    } 
    return $file; 
} 


protected function set_additional_file_properties($file) { 
    parent::set_additional_file_properties($file); 
    if ($_SERVER['REQUEST_METHOD'] === 'GET') { 
     $sql = 'SELECT `id_adjunto`, `id_documento`, `ruta_adjunto`, `nombre_adjunto`, `descripcion_adjunto` FROM `' 
      .$this->options['db_table'].'` WHERE `ruta_adjunto`=?'; 
     $query = $this->db->prepare($sql); 
     $query->bind_param('s', $file->name); 
     $query->execute(); 
     $query->bind_result(
      $id_adjunto, 
      $id_documento, 
      $titulo_documento, 
      $descripcion_documento 
     ); 
     while ($query->fetch()) { 
      $file->id = $id_adjunto; 
      //$file->type = $type; 
      $file->padre = $id_documento; 
      $file->title = $titulo_documento; 
      $file->description = $descripcion_documento; 
     } 
    } 
} 

public function delete($print_response = true) { 
    $response = parent::delete(false); 
    foreach ($response as $name => $deleted) { 
     if ($deleted) { 
      $sql = 'DELETE FROM `' 
       .$this->options['db_table'].'` WHERE `ruta_adjunto`=?'; 
      $query = $this->db->prepare($sql); 
      $query->bind_param('s', $name); 
      $query->execute(); 
     } 
    } 
    return $this->generate_response($response, $print_response); 
} 
我的PHP文件的JSON

}

$ upload_handler = new CustomUploadHandler($ options);

所以我在文件中upload.html

{% for (var i=0, file; file=o.files[i]; i++) { %} 

<tr class="template-upload fade"> 
    <td> 
     <span class="preview"></span> 
    </td> 
    <td> 
    <label class="title"> 
     <span>Nombre:</span><br> 
     <input name="title[]" class="form-control"> 
     </label> 
    </td> 
    <td> 
    <label class="description"> 
     <span>Descripcion:</span><br> 
     <input name="description[]" class="form-control"> 
     </label> 
     <input name="padre[]" value="<?php echo $_GET['id'];?>" class="form-control"> 
    </td> 
    <td> 
     <p class="name">{%=file.name%}</p> 
     <strong class="error text-danger"></strong> 
    </td> 
    <td> 
     <p class="size">Procesando...</p> 
     <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div> 
    </td> 
    <td> 
     {% if (!i && !o.options.autoUpload) { %} 
      <button class="btn btn-primary start" disabled> 
       <i class="glyphicon glyphicon-upload"></i> 
       <span>Comenzar</span> 
      </button> 
     {% } %} 
     {% if (!i) { %} 
      <button class="btn btn-warning cancel"> 
       <i class="glyphicon glyphicon-ban-circle"></i> 
       <span>Cancelar</span> 
      </button> 
     {% } %} 
    </td> 
</tr> 

{%}%}

這裏有一定的參考

Reference 1

Reference 2

回答

0

雖然我不認爲這是使用user_dirs o的最佳解決方案F中的文件服務器/php/UploadHandler.php

在這條線把它像這樣

'user_dirs' => true, 

在upload.html文件

session_start(); $_SESSION['father'] = $_GET['id']; 

而且在/服務器/ PHP /指數。 php

protected function get_user_id() { 
    @session_start(); 

    foreach($_SESSION as $key=>$father) { 
     $username = $father; 
    } 
    return $username; 

    #return session_id(); 
} 

它的作用是將ID作爲會話傳遞,從而查看分配的文件夾。

雖然我有,所有的文件都在一起的文件夾,請即與文件的ID號

<?php 

require_once(「../inc/conexion.php」生成一個文件夾一個小腳本);

$ db = db :: getInstance();

$ res = $ db-> query(「SELECT * FROM adjuntos LIMIT 2000」);

$ ruta ='../admin/server/php/files/';

而($ REG = $水庫> fetch_array()){

if(file_exists($ruta.$reg['id_documento'])){ 
    $origen = '../pdfs/'.$reg['ruta_adjunto']; 
    $destino = $ruta.$reg['id_documento'].'/'.$reg['ruta_adjunto']; 
    if(!copy($origen, $destino)){ 
     echo 'error al copiar el archivo del id: '.$reg['id_documento']; 
    } 
}else{ 
    $carpeta = $ruta.$reg['id_documento']; 
    if(!mkdir($carpeta, 0777, true)){ 
     echo 'Error al crear la CARPETA CON ID: '.$reg['id_documento']; 
    }else{ 
     $origen = '../pdfs/'.$reg['ruta_adjunto']; 
     $destino = $ruta.$reg['id_documento'].'/'.$reg['ruta_adjunto']; 
     if(!copy($origen, $destino)){ 
      echo 'error al copiar el archivo del id: '.$reg['id_documento']; 
     } 
    } 
} 

} ?>

相關問題