在目录的所有文件中搜索,然后使用PHP移动


Search inside all files of a Directory and then move using PHP

我有一些问题,我需要在一个目录的所有文件中搜索特定的文本,如果文本出现在一个或多个TXT中,我需要将文件复制到两个文件夹中,然后删除原始文件夹。

这是我到目前为止的代码(我知道这没什么)

<?php
$dir = 'C:'Users'ramosala'Desktop'New folder (2)';
if (is_dir($dir)) {
    if ($dh = scandir($dir)) {
        while (($file = readdir($dh)) !== false) {
            $Word="serie      = SMO";   
            if ($Word){
                echo "La factura pertenece a Coppel";
                $encuentra=TRUE;
                copy('C:'Users'ramosala'Desktop'New folder(2)',     'C:'Users'ramosala'Documents'Prueba Coppel''');
                copy('C:'Users'ramosala'Desktop'New folder(2)', 'C:'Users'ramosala'Documents'Prueba Coppel 2''');
                unlink('C:'Users'ramosala'Desktop'New folder(2)');
            }
            if($encuentra!=TRUE){
                echo 'No Pertenece a Coppel';
            }           
        }
    }
}
?>

完整原型:

$sDirectory     = 'file-fun';
$sNewDirectory  = 'file-fun2';
$sNewDirectory2 = 'file-fun3';
if( !is_dir( $sNewDirectory ) )
{
    mkdir( $sNewDirectory, 0777, TRUE );
}
if( !is_dir( $sNewDirectory2 ) )
{
    mkdir( $sNewDirectory2, 0777, TRUE );
}
$sFilter = '12';
if( is_dir( $sDirectory ) ) 
{
    $rDir = opendir( $sDirectory );
    while( ( $sFile = readdir( $rDir ) ) !== FALSE ) 
    {
        if( ( $sFile == '.' ) || ( $sFile === '..' ) )
        {
            continue;
        }
        $sFilePath = $sDirectory . '/' . $sFile;
        $sContents = file_get_contents( $sFilePath );
        if( strpos( $sContents, $sFilter ) !== FALSE )
        {
            $sNewFileName  = $sNewDirectory . '/' . $sFile;
            $sNewFileName2 = $sNewDirectory2 . '/' . $sFile;
            if( !copy( $sFilePath, $sNewFileName ) || !copy( $sFilePath, $sNewFileName2 ) )
            {
                echo 'Could not move: ' . $sFile;
            }
            else
            {
                unlink( $sFilePath );
            }
        }
    }
}