2016-08-04 5 views
-3

Ich habe einige Probleme hier:PHP-Datei ausführen, während html läuft

Ich habe index.html, die Upload Datei Feature

enthält

Ich habe cleaning.php, wird es Reinigung jede Zeichenfolge in einer Datei

Also, was ich wa Wenn ich index.html starte und dann eine Datei hochlade, wird zu diesem Zeitpunkt cleaning.php ausgeführt und die saubere Datei an index.html zurückgegeben. Wie kann ich das tun? brauchen Ihre Hilfe :(

Dies ist meine Datei index.html:

<script> 
$(function testing (data) { 

    $("#upload").bind("click", function() { 
     // I want to pass this array to cleaning.php 
     $someArray[] = "stringFromCSVFile"; // must pass to cleaning.php 
    }); 
</script> 

Das ist mein cleaning.php Datei:

$array = csvToArray("filecsv.csv"); //convert uploaded file to array 
callFuncA($array); 

functionA($array){ 
    return $something; 
} 
+1

Teilen Sie Ihren Code mit uns – Dave

+0

Ich würde Ajax verwenden für diese – Krapow

+0

Wie‘ Sie erwarten von uns, dass Sie uns helfen oder sehen, was Sie falsch gemacht haben, wenn 0 Code hinzugefügt wurde: | – Option

Antwort

-1

Es ist unmöglich, Ajax können den Inhalt hochgeladen nicht gelesen Dateien

Sie sollten ein Upload-Formular in index.html stellen und es an cleaning.php senden, das die Reinigung in PHP durchführt und das Ergebnis zurückliefert.

+0

Ajax kann den Inhalt der hochgeladenen Datei lesen. http://StackOverflow.com/a/10899796/2893691 @ – Dave

+0

@Dave Es verwendet FormData, Teil von HTML5, die Kompatibilitätsprobleme mit IE <10 verursacht. –

0

Sie können versuchen, Ajax Post für Dateien auf diese Weise zu verwenden, und Sie können Änderungen in cleaning.php als Ihre Anforderungen tun und Ihre Antwort an index.html zurückgeben.

index.htmlDatei:

<form id="data" method="post" enctype="multipart/form-data"> 
    <input type="file" /> 
    <button type="submit">Submit</button> 
    <div id="response"></div> 
</form> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 
<script> 
var files; 
$('input[type=file]').on('change', prepareUpload); 
function prepareUpload(event){ 
    files = event.target.files; 
} 
$('form').on('submit', uploadFiles); 
function uploadFiles(event){ 
    event.stopPropagation(); 
    event.preventDefault(); 
    var data = new FormData(); 
    $.each(files, function(key, value){ 
     data.append(key, value); 
    }); 
    $.ajax({ 
     url: 'cleaning.php', 
     type: 'POST', 
     data: data, 
     cache: false, 
     dataType: 'json', 
     processData: false, 
     contentType: false, 
     success: function(data, textStatus, jqXHR){ 
      //Successfuly Uploaded 
      $('#response').html(JSON.stringify(data)); 
     }, 
     error: function(jqXHR, textStatus, errorThrown){ 
      $('#response').html('ERRORS: ' + textStatus); 
     } 
    }); 
} 
</script> 

cleaning.phpDatei:

<?php 
echo json_encode($_FILES); 
?> 
+0

Danke :) aber wenn ich testen, um den Code auszuführen, tut es nicht Geben Sie mir eine Ausgabe :( – jill182

+0

Sie können diesen Code einfach ausführen und Sie können Datei nach dem Upload in cleaner.php reinigen. –

+0

eigentlich meine Einschränkung: Datei, die hochgeladen werden kann, sind nur CSV-Datei. Und ich speichern bereits diese CSV-Zeichenfolge in 'SomeArray []' in Javascript und bereit, in PHP übergeben. Gibt es eine andere Lösung für meinen Fall? – jill182

Verwandte Themen