2016-08-04 65 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