javascript - Need Help Handling a XML HTTP File Upload Request -


so, looked a tutorial uploading , sending files server xml http request. followed tutorial, however, think must missing something. while file appears uploaded , sent, nothing in "handler" file ever accessed. there php function need write process it? context, here wrote:

$(document).ready(function() {     $('#upload-button').click(function(event)     {         $('#upload-button').removeclass("btn-danger");     });      $( "#report-form" ).submit(function( event )     {          var form = document.getelementbyid('report-form');         var fileselect = document.getelementbyid('file-select');         var uploadbutton = document.getelementbyid('upload-button');          event.preventdefault(); // stop event sending way does.          uploadbutton.value = 'submitting...'; // change text.         var files = fileselect.files;         var maxfiles = <?php echo $config['report_maxfiles'] ?>;         var mfs = <?php echo $config['report_maxfilesize'] ?>;         if(files.length > maxfiles) // make sure it's not uploading many.         {             uploadbutton.value = 'you uploaded many files. limit ' + maxfiles + '.'; // update button text.             $('#upload-button').addclass('btn-danger'); // make button red, if so.             return;         }         var formdata = new formdata(); // make "form data" variable.         (var = 0; < files.length; i++) {             var file = files[i];              // add file request.             if(file.size / 1000 > mfs)             {                 uploadbutton.value = 'one of files big. file size limit ' + (mfs) + 'kb (' + (mfs / 1000) + 'mb).';                 $('#upload-button').addclass('btn-danger');                 return;             }             formdata.append('files[]', file, file.name); // not sure does, honest,                                                           // think makes file array.         }          var xhr = new xmlhttprequest(); // construct xml http request         xhr.open('post', 'assets/class/filehandler.php', true); // open connection handler php file.          xhr.onload = function ()         {             if (xhr.status === 200)             {                 uploadbutton.value = 'files submitted!'; // note: message.             }             else             {                 uploadbutton.value = 'an error occurred.';                 $('#upload-button').addclass("btn-danger");             }         };          xhr.send(formdata); // think dies.     }); }); 

at "send(formdata)" line, i'm not sure if it's sending. set sort of listener in filehandler.php activated when files sent via xml http request? or more specifically, how save uploaded files server using filehandler.php file?

edit: haven't been able come other php code in filehandler.php file this, thought might called when form sent (but isn't):

edit 2: okay, have something, isn't working (didn't expect to). think may using variables wrong:

<?php  $uploaddir = 'data/reports/uploads/' . $_post['id'] . "/"; $uploadfile = $uploaddir . basename($_files['files']['name']); echo "<script>console.log('received');</script>"; echo '<pre>'; if (move_uploaded_file($_files['files']['tmp_name'], $uploadfile)) {     echo "file valid, , uploaded.\n"; } else {     echo "possible file upload attack!\n"; }  echo 'here more debugging info:'; print_r($_files);  print "</pre>"; 

it's not saving file directory, nor printing script message. how report.php file execute these things in filehandler.php?

thanks , patience of @florian lefèvre, got fixed. :)

the problem path. wasn't locating path folder data/uploads/ , wasn't making directory. here did:

$uploaddir = '../../data/reports/uploads/' . $_post['id'] . "/"; echo "name: " . $_files['files']['name'][0] . "\n";  foreach($_files['files']['name'] $filenumber => $filename) {     $uploadfile = $uploaddir . basename ($filename);      echo "uploaddir " . $uploaddir . "\n";     echo "uploadfile " . $uploadfile . "\n";     echo '<pre>';      echo "mkdir uploaddir is: ". $uploaddir . "\n";     mkdir ($uploaddir);      if (move_uploaded_file ($_files['files']['tmp_name'][$filenumber], $uploadfile))     {         echo "file valid, , uploaded.\n";     }     else     {         echo "possible file upload attack!\n";     }      echo 'here more debugging info:';      print "</pre>"; }  var_dump ($_files); 

i haven't gotten rid of of debug stuff yet, that's general solution.


Comments

Popular posts from this blog

cakephp - simple blog with croogo -

How to group boxplot outliers in gnuplot -

bash - Performing variable substitution in a string -