【问题标题】:Laravel can't copying 2 files to createLaravel 无法复制 2 个文件来创建
【发布时间】:2023-02-06 07:22:40
【问题描述】:

我想从 head.arff 和 data.csv 创建文件 unseen.arff 但我不能在 laravel 中使用复制命令。 请帮我

$path = public_path('doc/');
$fp = fopen($path.'data.csv', 'w');
fputcsv($fp, $data);
fclose($fp);
         
$process = new Process(['copy '.$path.'head.arff +'.$path.'data.csv '.$path.'unseen.arff']);
$process->run();
if (!$process->isSuccessful()) {
    throw new ProcessFailedException($process);
}
echo $process->getOutput();

【问题讨论】:

  • 为什么你启动一个子进程只是为了复制一个文件? PHP 自己可以很容易地做到这一点。

标签: php laravel


【解决方案1】:

你可以使用file_put_contents

$path = public_path('doc/');
$fp = fopen($path.'data.csv', 'w');
fputcsv($fp, $data);
fclose($fp);

$head = file_get_contents($path.'head.arff');
$data = file_get_contents($path.'data.csv');
file_put_contents($path.'unseen.arff', $head . $data);

如果你真的想使用 shell 命令,我不建议你可以尝试在两个文件上使用 cat 并将输出保存在一个新文件中:

$process = new Process(['cat '.$path.'head.arff '.$path.'data.csv > '.$path.'unseen.arff']);

【讨论】:

    猜你喜欢
    • 2014-10-21
    • 2018-05-22
    • 1970-01-01
    • 2018-01-03
    • 2022-07-05
    • 2014-10-07
    • 2020-03-17
    • 2015-02-04
    相关资源
    最近更新 更多