Ir para o conteúdo
Sarinha

Comparar pastas discos com os campos da tabela

Mensagens Recomendadas

Sarinha

Olá,

Eu gostava de saber, se tem como alguém e ajudar.

Eu tenho uma base de dados, onde tem nessa base de dados tem varias tabelas, a tabela que eu estou a usar é a tb_prjects.

E tenho também uma pasta no meu computador com varias pastas dentro, a que estou a utilizar é a pasta cli e dentro tou a usar a pasta idCli1.

O que eu quero fazer é o seguinte comparar as pastas que são dentro do idCli1 com a o campo da ProjectName que está dentro da tabela tb_project.

o que eu já fiz foi o seguinte:

-> Ir a base de dados buscar os nomes da campo projectName:

include "connect.php";

$query = "SELECT * FROM tb_projects WHERE statusProject = 0 and projectName like 'p%'"; 
$result = mysql_query($query);

while($row=mysql_fetch_assoc($result)) 
{
echo "<br/> Nome - ".$row['projectName'];
}

-> Ir a pasta idCli1 e listar os nomes das pastas dentro da mesma:

function listFolderFiles($dir)
{ 
$ffs = scandir($dir); 
foreach($ffs as $ff)
{ 
if($ff != '.' && $ff != '..')
{ 
if(!is_dir($dir.'/'.$ff))
{ 

} 
else 
{ 
echo '<br/>pasta - ' . $ff; 
} 
} 
}
} 
listFolderFiles('../../www/m7tv/cli/idCli_1');

Agora o que eu quero é comprar os nomes das pastas com os nomes dos campos da tabela e se o nome da primeira pasta não existir na base de dados apaga a pasta toda, senao se existir passa para a segunda e vai percurre a base de dados toda, até a ultima pasta.

Será que me podem ajudar?

Obrigada, fico muito agradecida.

Editado por brunoais
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
// http://stackoverflow.com/questions/1407338/a-recursive-remove-directory-function-for-php
function destroy_dir($dir) { 
 if (!is_dir($dir) || is_link($dir)) return unlink($dir); 
   foreach (scandir($dir) as $file) { 
     if ($file == '.' || $file == '..') continue; 
     if (!destroy_dir($dir . DIRECTORY_SEPARATOR . $file)) { 
       chmod($dir . DIRECTORY_SEPARATOR . $file, 0777); 
       if (!destroy_dir($dir . DIRECTORY_SEPARATOR . $file)) return false; 
     }; 
   } 
   return rmdir($dir); 
 }
}
$projectos = array();

$sql = "...";                                             // o SQL para ler TODOS os projectos não activos
$recordset = ...;                                         // ler a info da base de dados
foreach ($recordset as $record)
{
 $projectos[] = $record['projectName'];
}

if ($handle = opendir('/path/to/files')) {                // abrir directorio
 while (($entry = readdir($handle)) !== false) {         // ciclo de leitura do directorio
   if (is_dir($entry)) {                                 // ignorar ficheiros
     $dirname = substr($entry, strrpos('/', $entry));
     if (array_search($dirname, $projectos) === false) { // verificar se exista na lista de projectos desactivados
       destroy_dir($entry)                               // remover directorio
     }
   }
 }
 closedir($handle);
}


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Olá,

eu tenho que tirar aquilo que tenho e colocar o que você mandou?

é um código feito de cabeça (tirando a função tirada do stackoverflow) que deverá fazer o que pretendes, apesar de teres de adaptar ao teu código como a criação do SQL e leitura dos dados da base de dados.

se não quiseres usar, podes sempre tirar ideias


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.