2015-10-07 158 views
0

嗨,我是jquery的新手。我想要重命名upload..but文件我不能这样做如何在jquery文件上传中重命名文件

我使用文件中的代码上传

$(function() { 
var btnUpload=$('#upload'); 

var status=$('#status'); 
    new AjaxUpload(btnUpload, { 
action: 'upload-file.php', 
name: 'uploadfile', 
    onSubmit: function(finalname, ext){ 
if (! (ext && /^(pdf|doc|docx|xls|xlsx|text|)$/.test(ext))){ 
status.text('Only pdf, xls,doc,docs,xlsx and text files are allowed'); 
return false; 
} 
status.text('Uploading...'); 
}, 
onComplete: function(finalname, response){ 
status.text(''); 
if(response==="success"){ 
$('#head').val(finalname); 
} else{ 
status.text('Upload Failed'); 
} 
    } 
}); 

PHP代码是

$uploaddir = 'uploads/files/'; 
$file = $uploaddir . basename($_FILES['uploadfile']['name']); 
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
    echo "success"; 
} else { 

    echo "error"; 
} 

的Html

<div id="upload" ><span>Browse<span></div><span id="status" ></span> 
<input type="text" id="head" name="head" value=""> 

我能够用PHP文件重命名......但不是在jQuery代码它给我错误的文件名好心帮

+0

人们来这里不是为了帮助 – RItika

回答

1

我设法重新命名之前上传的文件名。尽管有帮助,但是这个极低的投票表决。该改变了我对我的代码,这样或许是有用的为别人我在PHP文件提出

$(function() { 
    var btnUpload=$('#upload'); 
var status=$('#status'); 
var mm=Math.random().toString(36).substring(7) + new Date().getTime(); //to add new name of file 
new AjaxUpload(btnUpload, { 
action: 'upload-file.php?name='+mm, // gave a action to php file so i can use the same name 
name: 'uploadfile', 
onSubmit: function(file, ext){ 
if (! (ext && /^(pdf|doc|docx|xls|xlsx|text|)$/.test(ext))){ 
status.text('Only pdf, xls,doc,docs,xlsx and text files are allowed'); 
return false; 
} 
status.text('Uploading...'); 
}, 
onComplete: function(file, response){ 
var fileExtension = '.' + file.split('.').pop(); //got the file extestion 
var outputfile = file.substr(0, file.lastIndexOf('.')) || file; //got the file name 
var spaceremoved=outputfile.replace(/\s/g, '');//removed the space from file 
var filename=mm+spaceremoved+fileExtension; //merged all to one 
    status.text(''); 
if(response==="success"){ 
    $('#head').val(filename); 
    } else{ 
} 
    } 
    }); 

变化

$uploaddir = 'uploads/files/'; 
if(isset($_GET['name'])){ 
$filena=$_GET['name']; 
} 
$basename=$filena.basename($_FILES['uploadfile']['name']);//merged the name 
$finalna=preg_replace('/\s+/', '', $basename);//removed the space 
$file = $uploaddir .$finalna;// merged to final 
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
    echo "success"; 
} else { 
    echo "error"; 
}