【问题标题】:Send uploaded file data from PHP script to external Javascript将上传的文件数据从 PHP 脚本发送到外部 Javascript
【发布时间】:2016-08-19 12:39:36
【问题描述】:

我有一个 CSV 文件上传到服务器并使用 PHP 文件处理,比如 upload.php。

我想在外部 Javascript 中使用此 CSV 文件中的数据,例如“vis.js”。

我只需要访问 CSV 文件的内容,这样我就可以执行一些正则表达式并解析数据。

我的 PHP 脚本是:

<?php
    header('Access-Control-Allow-Origin: *');

    $fileName = $_FILES["file1"]["name"]; // The file name
    $fileTmpLoc = $_FILES["file1"]["tmp_name"]; // File in the PHP tmp folder
    $fileType = $_FILES["file1"]["type"]; // The type of file it is
    $fileSize = $_FILES["file1"]["size"]; // File size in bytes
    $fileErrorMsg = $_FILES["file1"]["error"]; // 0 for false... and 1 for true
    if (!$fileTmpLoc) { // if file not chosen
        echo "ERROR: Please browse for a file before clicking the upload button.";
    exit();
    }
    if(move_uploaded_file($fileTmpLoc, "uploads/$fileName")){
        echo "$fileName upload is complete";
    } else {
        echo "move_uploaded_file function failed";
    }
?>

而Javascript“vis.js”是:

function parsetext(data){
    console.log(data);  //where data is the latest file uploaded 
}

【问题讨论】:

  • php 脚本在服务器上运行。 js脚本在客户端运行。你想在服务器上运行外部 javascript 吗?
  • 你需要这个做什么?如果您想要从文件到前端的特定值/值,您可以在 PHP 中解析文件,然后通过 REST API 将其作为 JSON 发送到前端
  • 将 CSV 文件上传到服务器(在 docroot 之外 - 您永远不应该通过 http 获得 Apache/PHP 读写文件/目录)。有一个 PHP 脚本,您将 GET 变量传递给该脚本以检索您需要的数据并使用 Ajax 从客户端 (JS) 访问该脚本。
  • 也许您应该在客户端上执行此操作,文件上传之前。 (关键字:FileReader)否则,您会将数据从客户端发送到服务器,然后将其全部发送回客户端,然后才能在客户端上进行处理 - 这没有多大意义。

标签: javascript php ajax file-upload


【解决方案1】:

如果您只需要访问存储在服务器上的 csv 文件,您可以使用 jQuery 执行类似的操作。

function parseCSV(){
    $.get('/path/to/csv', function(result) {
        //result has the contents of the csv file.
        console.log(result);
    });
}

如果您实际上不需要服务器上的文件,根据您的浏览器支持要求,您可以考虑通过FileReader API 读取文件,而不必费心上传。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多