【发布时间】:2018-04-05 15:02:45
【问题描述】:
我已经有一个用于上传 CSV 文件的 PHP 脚本:它是与 Twitter 帐户(又名品牌)相关联的推文集合。顺便说一句,谢谢 T.A.G.S :)
我还有一个脚本来解析这个 CSV 文件:我需要提取表情符号、主题标签、链接、转发、提及,以及我需要为每条推文计算的更多细节(这是我的研究项目:数字情感。我'已经存储了 280k 条推文,其中包含 170k 表情符号)。
然后将每条推文及其指标保存在数据库中(表 TWEETS)、表情符号(表 EMOJIS)以及帐户统计信息(表 BRANDS)。
我使用了一个与这个非常相似的类:CsvImporter > https://gist.github.com/Tazeg/b1db2c634651c574e0f8。我做了一个循环来逐个解析每一行。
$importer = new CsvImporter($uploadfile,true);
while($content = $importer->get(1)) {
$pack = $content[0];
$data = array();
foreach($pack as $key=>$value) {
$data[]= $value;
}
$id_str = $data[0];
$from_user = $data[1];
...
在我的所有计算之后,我"INSERT INTO TWEETS VALUES(...)",与EMOJIS 相同。之后,我必须进行一些其他操作
- 更新每个 id_str 的范围,如果我保存的推文是对上一条推文的回复)
- 将统计信息保存到表 BRAND
所有这些操作都编写在一个文件 insert.php 中,并在我提交上传表单时触发。 但是,如果推文太多,一切都会失败。我的服务器无法处理这么长时间的操作。
所以我想知道我是否可以对流程的某些部分进行 ajaxify,尤其是循环
- 上传文件
- 解析 1 CSV 行并将其保存在 SQL 中,并在每次保存推文时显示“OK”消息
- 计算所有其他内容(覆盖面和品牌统计数据)
我对@987654325@ 知之甚少,但我想这与 beforeSend、success、complete 和所有 Ajax 事件有关。还是我完全错了!?
有人可以帮我吗?
【问题讨论】: