首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSplit未拆分

CSplit未拆分
EN

Stack Overflow用户
提问于 2012-08-29 22:57:33
回答 2查看 222关注 0票数 0

我正在尝试运行一个读取CSV的复杂导入任务。此导入工作正常,除非服务器耗尽了可用内存来完成任务。我正在尝试将文件分成1000行的块,以便服务器可以逐个处理这些“一口大小”的部分。但是,我的CSplit不会拆分这些文件。我的语法是正确的吗?

我已经检查了目录是否正确,命令的路径是否正确,以及文件是否在那里,但不是很幸运。

提前谢谢。

代码语言:javascript
复制
function processSplit() {
      chdir('Files');
      $dir = '*';

      foreach (glob($dir) as $file) {
           system(CSPLIT_PATH . " -k -n 4 -f ' " . $file . " ' 1000 '{1000}'");

      }
 }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-29 23:22:09

命令行不正确。您必须:

system(CSPLIT_PATH . " -k -n 4 -f ' " . $file . " ' 1000 '{1000}'");

应该是:

system(CSPLIT_PATH . " $file -k -n 4 -f ' " . $file . " ' 1000 '{1000}'");

此外,我将更改-f ' " . $file . " ',因为您将在输出文件的前面和后面创建一个空间。

票数 1
EN

Stack Overflow用户

发布于 2012-08-30 21:24:36

解决了。Grzegorz感谢您的帮助,但问题出在正在传递的文件的结构以及使用此函数时文件不能包含任何空格的事实。使用preg replace将所有空格更改为_解决了这个问题。

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

https://stackoverflow.com/questions/12180859

复制
相关文章

相似问题

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