我是linux新手并尝试在我尝试编写的PHP脚本中使用bash命令,我需要从我正在使用DirectoryIterator迭代的目录中编写每个PDF文件名()在PHP中的.lst文件,我已经坐在另一个文件夹中,并在文本文件的新行中列出了每个文件名。
.lst文件应如下所示:
1.pdf
2.pdf
3.pdf
...
我希望这是有道理的。任何帮助/方向将不胜感激。
这是我到目前为止提出的代码:
// Use the command line cp to copy each PDF file in the sourceDir to the destinationDir.
foreach ($srcDir as $entity) {
/**
* @var DirectoryIterator $entity
*/
/*$result = rename($sourceDir . '/' . $entity->getFilename(), $destinationDir .'/' . $entity->getFileName());
if(!$result)
{
throw Exception('Could not copy file ' . $entity->getFilename() . 'to destination directory ');
}*/
$cpString = 'cp ' . $sourceDir . '/' . $entity->getFilename() . ' ' . $destinationDir .'/' . $entity->getFileName() . ' 2<&1';
passthru($cpString, $returnVar);
if($entity->isFile() && strtoupper($entity->getExtension()) == 'PDF')
{
$cpString = 'cp ' . $sourceDir . '/' . $entity->getFilename() . ' ' . $destinationDir .'/' . $entity->getFileName();
if ($counter = 1) {
$catString = 'cat ' . $destinationDir . '/' . $batchNum . '.lst';
}
$cpString = ''
}
$counter++;
}
答案 0 :(得分:2)
$fh = fopen("foo.lst", "w");
foreach ($srcDir as $entity)
fwrite($fh, $entity->getFilename() . "\n");
fclose($fh);