我对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; ?>
]
});
});
这是我对文件管理器的"配置"。
<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;
}
不幸的是,$files = $data['data'] 只返回新上传的文件。这意味着我已经上传的文件被删除了。
你知道怎么解决吗?
你需要:1. 从数组中的 MySQL 获取旧文件2.将上传的文件添加到旧文件中
$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