首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >读取文本文件,然后获取内容并显示到表yii2

读取文本文件,然后获取内容并显示到表yii2
EN

Stack Overflow用户
提问于 2015-11-04 06:08:55
回答 2查看 4.5K关注 0票数 1

这是我的表格下面的javascript

代码语言:javascript
运行
复制
$('#idOfButton').click(function(){
var id = $('#input').val(); 
    $.get('index.php?r=tbltime/get-file',{ id : id },function(data){
        var data = $.parseJSON(data);
        alert(data);
    });
});

这是我的观点的controller

代码语言:javascript
运行
复制
public function actionGetFile($id)
{
    $id = file_get_contents($id);
    echo Json::encode($id);

}

我的表单视图中的table

代码语言:javascript
运行
复制
<table id="sampleTbl", class="table table-striped table-bordered">
    <thead>
        <tr id="myRow">
            <th>BIB</th>
            <th>Time Start</th>
            <th>Time End</th>
        </tr> 
    </thead>
    <tbody></tbody>
</table>

我的text file

代码语言:javascript
运行
复制
202#00:00:00.000000#00:02:13.045000
764#00:03:12.037300#00:04:12.123000
223#00:04:50.011000#00:05:12.045000

我想要的是在浏览文本文件时获取内容,然后显示到表中??当我尝试使用警告来显示我的内容文件时,它是不工作的。有人帮忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-04 07:10:58

函数file_get_contents显然无法读取您的文件,因为您的文件在C:\fakepath\dataimport.txt中不可用。如果要在磁盘D:/上读取文件,则必须提供文件目录file_get_contents('FULL PATH TO THE FILE DIRECTORY'.$id)的完整路径。请注意,这种方法不好,因为您正在硬编码脚本中的值。如果将此代码从本地计算机移动到服务器,可能会发生某些事情无法工作的情况。

如果要从磁盘C:\读取文件,那么将文件从磁盘D:\复制到C:\fakepath\dataimport.txt

在您的控制器中,在回显Json::encode($id);之后放置行Yii::app()->end();,因为您不希望在此操作中呈现任何视图文件。

更新

有三种可能的情况。

第一个场景第一个场景是当您想要在表中显示的文件是您所知道的文件时,这意味着这不是客户上传的文件。在这种情况下,复制并粘贴您的文件到您的项目文件夹,只需提供它的相对路径,函数将能够读取。即使当您将项目部署到其他服务器时,这也将始终有效。

第二个场景其他场景是该文件将来自最终用户。在这种情况下,您必须首先使用PHP上传文件,然后将文件内容发送到Ajax脚本。

第三种场景,使用JavaScript读取文件的内容并在视图中显示。下面是一个例子:http://www.aspsnippets.com/Articles/Read-Parse-and-display-CSV-Text-file-using-JavaScript-jQuery-and-HTML5.aspx

票数 1
EN

Stack Overflow用户

发布于 2015-11-04 06:43:51

当你的警报显示出来时发生了什么?什么是ajax请求的响应代码?如果有错误,请贴在这里。

编辑:可能,在您的输入,从哪里得到您的文件名,只有文件名是存在的,而不是完整的路径文件。因此,应该通过向file_get_contents方法添加路径前缀来修改操作:

代码语言:javascript
运行
复制
public function actionGetFile($id)
{
    $fileContent= file_get_contents('D:/'.$id);
    echo Json::encode($fileContent);
    Yii::app()->end();

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33514835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档