2015-12-05 2 views
0

Это то, что я изначально имел ...move_upload_file с несколькими фотографиями

$('#file').change(function(){ 
    var file = this.files[0]; 
    var name = file.name; 
    var size = file.size; 
    var type = file.type; 
    if (!(/\.(gif|jpg|jpeg|tiff|png)$/i).test(name)) {    
    alert('You must select an image file only');    
    } 
    if (size > 5000000) { 
    alert('File size must be less than 5 Megabytes'); 
    } 
    if (size <= 0) { 
    alert('File size must be larger than 0'); 
    } 
}); 

а затем к части AJAX я имел ...

var file_data = $('#file').prop('files')[0]; 
    var form_data = new FormData(); 

и в моем PHP файла, который я имел. ..

if (0 < $_FILES['file']['error']) { 
     echo 'Error: ' . $_FILES['file']['error'] . '<br>'; 
    } 
    else { 
$filename=$_FILES['file']['name']; //this param contains name of file 
$arr = explode('.', $filename); 
$extension=end($arr); 
$newfilename=$first_name . '_' . $last_name . '_' . date('m-j-y_h-i-s') . '.' . $extension; 
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' .$newfilename); 
} 

Это работало отлично, я не хочу на самом деле пойти дальше и добавить еще 2 файлы, которые будут загружены. Я просто не знаю, как это сделать.

Это то, что я сделал до сих пор, но я 100% уверен, что это не правильно

$('#fileFace').change(function(){ 
    var file = this.files[0]; 
    var name = file.name; 
    var size = file.size; 
    var type = file.type; 
    if (!(/\.(gif|jpg|jpeg|tiff|png)$/i).test(name)) {    
    alert('You must select an image file only');    
    } 
    if (size > 5000000) { 
    alert('File size must be less than 5 Megabytes'); 
    } 
    if (size <= 0) { 
    alert('File size must be larger than 0'); 
    } 
}); 
$('#fileFront').change(function(){ 
    var file = this.files[0]; 
    var name = file.name; 
    var size = file.size; 
    var type = file.type; 
    if (!(/\.(gif|jpg|jpeg|tiff|png)$/i).test(name)) {    
    alert('You must select an image file only');    
    } 
    if (size > 5000000) { 
    alert('File size must be less than 5 Megabytes'); 
    } 
    if (size <= 0) { 
    alert('File size must be larger than 0'); 
    } 
}); 

$('#fileBack').change(function(){ 
    var file = this.files[0]; 
    var name = file.name; 
    var size = file.size; 
    var type = file.type; 
    if (!(/\.(gif|jpg|jpeg|tiff|png)$/i).test(name)) {    
    alert('You must select an image file only');    
    } 
    if (size > 5000000) { 
    alert('File size must be less than 5 Megabytes'); 
    } 
    if (size <= 0) { 
    alert('File size must be larger than 0'); 
    } 
}); 

Я не уверен, как идти о редактировании часть AJAX, а также Часть PHP для добавления 2 дополнительных файлов.

ответ

0

Ниже приведен пример использования класса повторно использовать тот же JavaScript для нескольких входных элементов:

HTML:

<head> 
    <link rel="stylesheet" href="style.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
    <script src="script.js"></script> 
    </head> 

    <body> 
    <form> 

     <input type="file" class="file" name="file1"><br/> 
     <input type="file" class="file" name="file2"><br/> 
     <input type="file" class="file" name="file3"><br/> 

     <button class='sub'>Submit</button> 
    </form> 
    </body> 

</html> 

JavaScript:

$(function(){ 

    $('.file').change(function(){ 
    var file = this.files[0]; 
    var name = file.name; 
    var size = file.size; 
    var type = file.type; 
    if (!(/\.(gif|jpg|jpeg|tiff|png)$/i).test(name)) {    
     alert('You must select an image file only');    
    } 
    if (size > 5000000) { 
     alert('File size must be less than 5 Megabytes'); 
    } 
    if (size <= 0) { 
     alert('File size must be larger than 0'); 
    } 

    console.log(file, name); 

    }); 


    $('.sub').click(function() { 

    $('.file').each(function(index, el) { 
     console.log('Input ' + el); 
    }); 

    }); 

}); 

Посмотрите, как работает в plunkr:

http://plnkr.co/edit/Bt2pE26VYtY4bmWIUaXc?p=preview

Смежные вопросы