Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 jquery.filer删除已上载的文件_Php_Jquery_File Upload_Upload - Fatal编程技术网

Php jquery.filer删除已上载的文件

Php jquery.filer删除已上载的文件,php,jquery,file-upload,upload,Php,Jquery,File Upload,Upload,我对jquery.filer有问题 $(document).ready(function() { $('#filer_input').filer({ showThumbs: true, templates: { box: '<ul class="jFiler-items-list jFiler-items-grid"></ul>', item: '<li

我对jquery.filer有问题

    $(document).ready(function() {
        $('#filer_input').filer({
          showThumbs: true,
          templates: {
            box: '<ul class="jFiler-items-list jFiler-items-grid"></ul>',
            item: '<li class="jFiler-item">\
                        <div class="jFiler-item-container">\
                            <div class="jFiler-item-inner">\
                                <div class="jFiler-item-thumb">\
                                    <div class="jFiler-item-status"></div>\
                                    <div class="jFiler-item-info">\
                                        <span class="jFiler-item-title"><b title="{{fi-name}}">{{fi-name | limitTo: 25}}</b></span>\
                                        <span class="jFiler-item-others">{{fi-size2}}</span>\
                                    </div>\
                                    {{fi-image}}\
                                </div>\
                                <div class="jFiler-item-assets jFiler-row">\
                                    <ul class="list-inline pull-left"></ul>\
                                    <ul class="list-inline pull-right">\
                                        <li><a class="icon-jfi-trash jFiler-item-trash-action"></a></li>\
                                    </ul>\
                                </div>\
                            </div>\
                        </div>\
                    </li>',
            itemAppend: '<li class="jFiler-item">\
                            <div class="jFiler-item-container">\
                                <div class="jFiler-item-inner">\
                                    <div class="jFiler-item-thumb">\
                                        <div class="jFiler-item-status"></div>\
                                        <div class="jFiler-item-info">\
                                            <span class="jFiler-item-title"><b title="{{fi-name}}">{{fi-name | limitTo: 25}}</b></span>\
                                            <span class="jFiler-item-others">{{fi-size2}}</span>\
                                        </div>\
                                        {{fi-image}}\
                                    </div>\
                                    <div class="jFiler-item-assets jFiler-row">\
                                        <ul class="list-inline pull-left">\
                                            <li><span class="jFiler-item-others">{{fi-icon}}</span><span class="jFiler-item-others">{{fi-size2}}</span></li>\
                                        </ul>\
                                        <ul class="list-inline pull-right">\
                                            <li><a class="icon-jfi-trash jFiler-item-trash-action"></a></li>\
                                        </ul>\
                                    </div>\
                                </div>\
                            </div>\
                        </li>',
            itemAppendToEnd: false,
            removeConfirmation: true,
            _selectors: {
            list: '.jFiler-items-list',
            item: '.jFiler-item',
            remove: '.jFiler-item-trash-action'
            }
            },
         addMore: true,
         limit:8,
         maxSize:2,
         extensions: ['jpg','gif','png'],
         files: [
        <?php 
        $path=SITEBASE.'uploads/';

        $i = 1;

        foreach (unserialize($input['gallery']) as $key => $photo) : ?>
            {
            name: "photo<?=$i?>.jpg",
            size: <?=filesize(UPLOAD.$photo)?>,
            type: "image/jpg",
            file: "<?=$path.$photo?>"
            },

        <?php 
        $i++;

        endforeach; ?>    
        ]

          });       
        });
$(文档).ready(函数(){
$(“#文件管理器_输入”)。文件管理器({
秀拇指:没错,
模板:{
框:“
    ”, 项目:'
  • \ \ \ \ \ \ {{fi name | limito:25}}\ {{fi-size2}}\ \ {{fi image}}\ \ \
      \
        \
      • \
      \ \ \ \
    • ', itemAppend:“
    • \ \ \ \ \ \ {{fi name | limito:25}}\ {{fi-size2}}\ \ {{fi image}}\ \ \
        \
      • {{fi icon}{{fi-size2}}
      • \
      \
        \
      • \
      \ \ \ \
    • ', itemAppendToEnd:false, Remove确认:正确, _选择器:{ 列表:'.jFiler项目列表', 项目:'.jFiler项目', 删除:'.jFiler项垃圾操作' } }, 艾德莫尔:没错, 限额:8, 最大尺寸:2, 扩展名:['jpg'、'gif'、'png'], 档案:[ { 名称:“photo.jpg”, 尺寸:, 键入:“image/jpg”, 档案:“ }, ] }); });
      这是我的文件服务器的“配置”

      <form name="photoform" method="post" action="" enctype="multipart/form-data">
      <input type="file" name="files[]" id="filer_input" multiple="multiple">
      <input type="submit" name="photoformuploadphoto" value="SEND" />
      </form>
      
      
      
      现在,在结果中,一切都完美地显示出来。 所有已经上传的图片都会显示在网站上

      我尝试上传新文件并添加到数据库中

      $uploader = new Uploader();
          $data = $uploader->upload($_FILES['files'], array(
              'limit' => 8, //Maximum Limit of files. {null, Number}
              'maxSize' => 2, //Maximum Size of files {null, Number(in MB's)}
              'extensions' => array('jpg', 'png', 'gif'), //Whitelist for file extension. {null, Array(ex: array('jpg', 'png'))}
              'required' => false, //Minimum one file is required for upload {Boolean}
              'uploadDir' => UPLOAD, //Upload directory {String}
              'title' => array('auto', 30), //New file name {null, String, Array} *please read documentation in README.md
              'removeFiles' => true, //Enable file exclusion {Boolean(extra for jQuery.filer), String($_POST field name containing json data with file names)}
              'onRemove' => 'onFilesRemoveCallback' //A callback function name to be called by removing files (must return an array) | ($removed_files) | Callback
          ));
      
          if($data['isComplete']){
              $files = $data['data'];
      
              foreach($files["metas"] as $value){  
      
              $gallery[]=$value["name"];
      
              imageResize($value["file"], UPLOAD.'thumb/'.$value["name"], '190', '114', 0);
      
          }
      
          $sql_update="UPDATE `".PREFIX."users` SET `gallery`='".serialize($gallery)."' WHERE `id`=".$_POST["id"];
          query($sql_update);
      
             // echo '<pre>';print_r($files);echo '</pre>';
          }
      
          if($data['hasErrors']){
              $errors = $data['errors'];
              //print_r($errors);
          }
      
          function onFilesRemoveCallback($removed_files){
              foreach($removed_files as $key=>$value){
                  $file = UPLOAD . $value;
                  $thumb = UPLOAD.'thumb/' . $value;
      
                  if(file_exists($file)){
                      unlink($file);
                  }
                  if(file_exists($thumb)){
                      unlink($thumb);
                  }
              }
      
              return $removed_files;
          }
      
      $uploader=newuploader();
      $data=$uploader->upload($\u文件['FILES'],数组(
      'limit'=>8,//文件的最大限制。{null,Number}
      'maxSize'=>2,//文件的最大大小{null,数字(MB)}
      'extensions'=>array('jpg','png','gif'),//文件扩展名的白名单。{null,array(例如:array('jpg','png'))}
      'required'=>false,//上传{Boolean}至少需要一个文件
      'uploadDir'=>UPLOAD,//上传目录{String}
      'title'=>array('auto',30),//新文件名{null,String,array}*请阅读README.md中的文档
      'removeFiles'=>true,//启用文件排除{Boolean(jQuery.filer的额外值),字符串($\u包含有文件名的json数据的POST字段名)}
      'onRemove'=>'OnFileRemoveCallback'//要通过删除文件(必须返回数组)|($removed_files)|回调调用的回调函数名
      ));
      如果($data['isComplete'])){
      $files=$data['data'];
      foreach($files[“metas”]作为$value){
      $gallery[]=$value[“name”];
      imageResize($value[“file”],UPLOAD.thumb/。$value[“name”],'190','114',0);
      }
      $sql\u update=“update`.”前缀。“用户`SET`gallery`='.”。序列化($gallery)。“'WHERE`id`=”$\u POST[“id”];
      查询($sql\u更新);
      //回显“”;打印($files);回显“”;
      
      $db_images = $db_row['images']; //only example
      
      if($data['isComplete']){
          $files = $data['data'];
      
          foreach($files["files"] as $value){
              $db_images[] = $value;
          }
      }
      
      // now $db_images is ready
      // write your query to update
      
      } 如果($data['hasErrors'])){ $errors=$data['errors']; //打印错误($errors); } 函数onFileRemoveCallback($removed\u文件){ foreach($key=>$value形式的已删除\u文件){ $file=上传。$value; $thumb=UPLOAD.thumb/。$value; 如果(文件_存在($file)){ 取消链接($文件); } 如果(文件_存在($thumb)){ 取消链接($thumb); } } 返回$removed_文件; }
      不幸的是,$files=$data['data']只返回新上传的文件。 这意味着我已经上传的文件将被删除

      你知道怎么解决吗?

      你需要: 1.从数组中的mysql获取旧文件 2.将上载的文件添加到旧文件中