2016-08-04 81 views
-3

我有一些問題在這裏:執行PHP文件在運行HTML

的index.html,包含上傳文件功能

cleaning.php,它會清洗文件中的每個字符串

所以,我wa NT是如果我運行index.html然後上傳文件,那時它將執行clean.php並將乾淨的文件返回到index.html 我該怎麼做? 需要你的幫助:(

這是我的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> 

這是我cleaning.php文件:

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

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

分享您與我們 – Dave

+0

代碼我會使用Ajax爲 – Krapow

+0

如何」 d您希望我們幫助或看看您添加了0代碼後做了什麼錯誤:| – Option

回答

-1

這是不可能的,AJAX無法讀取上傳的內容

您應該在index.html中放置一個上傳表單,並將其提交給在PHP中進行清理並返回結果的清理.php。

+0

Ajax可以讀取上傳文件的內容。 http://stackoverflow.com/a/10899796/2893691 – Dave

+0

@Dave它使用FormData,HTML5的一部分,這導致與IE <10 –

0

您可以嘗試以這種方式使用ajax post文件,您可以按照您的要求在clean.php中執行更改並將您的響應返回給index.html。

的index.html文件:

<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.php文件:

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

兼容性問題謝謝:)但當我測試運行的代碼,它doesn' t給我一個輸出:( – jill182

+0

你可以很容易地運行這個代碼,你可以清理文件上傳後在cleaner.php –

+0

其實我的侷限性:可以上傳的文件只是.csv文件,而且我已經存儲這些csv字符串'someArray []'在JavaScript中,並準備傳遞到PHP。是否有我的情況的另一種解決方案? – jill182