Поиск во всех файлах каталога, а затем переместить с помощью переполнения стека

У меня есть некоторые проблемы, мне нужно искать определенный текст во всех файлах каталога, если текст появляется внутри одного или нескольких 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';

}
}
}
}

?>

0

Решение

Полный прототип:

$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 );
}
}
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]