Ir ao conteúdo
  • Cadastre-se

Duvida PHP/manipulação de PASTA/ARQUIVOS


pedroserquiz

Posts recomendados

Ola,

pessoal, estou com o seguinte problema, estou desenvolvendo um sistema que o usuario envia o arquivo em formato .PDF para uma determinada pasta.

os dados de LOCAL e DATA q foi enviado o arquivo, vai para o banco de dados.

o que estou querendo fazer é, copiar os arquivos do mes TAL para a pasta de mes igual.

Ja consegui fazer com que ele criasse a pasta dos arquivos, de acordo com o mes deles...

POR EXEMPLO: se o arquivo for do mes 09, então será criada uma pasta com o nome 09.

o que preciso agora é enviar uma copia do arquivo de mes 09 para a pasta 09, mes 08 para pasta 08.... e assim por diante.

seguem as linhas de codigo que falam a respeito do q ja fiz.


if ($data){

$pasta = mkdir("arquivos_separados/$partes_da_data[1]");
$pasta = $partes_da_data[1];
}

if ($arquivos != "") {
foreach($arquivos as $listar){

if ($partes_da_data[1] == $pasta){
copy("teste/$listar", "arquivos_separados/$partes_da_data[1]/$listar");
unlink ("teste/$listar");
}

}
}

da forma que esta o codigo, ele copia todos os arquivos para todas as pastas.

PS: esse $partes_da_data[1] é porque quebrei a data e peguei apenas o mes.

esse $listar é o while que pega todos os arquivos existentes daquela determinada pasta.

espero que tenha ficado bem explicado.

Att.

Pedro Serquiz

Link para o comentário
Compartilhar em outros sites

Segue o codigo, esse arquivo cria as pastas necessarias, de acordo com o mes do arquivo, lista os arquivos de uma determinada pasta e DEVERIA COPIAR CADA ARQUIVO ( COM SEU MES) PARA SUA PASTA ( COM MESMO MES)


<?php
// pega o endereço do diretório
$diretorio = teste;
// abre o diretório
$ponteiro = opendir($diretorio);
// monta os vetores com os arquivos encontrados na pasta
while ($nome_itens = readdir($ponteiro)) {
$itens[] = $nome_itens;
}

// ordena o vetor de itens
sort($itens);
// percorre o vetor para fazer a separacao entre arquivos e pastas
foreach ($itens as $listar) {
// retira "./" e "../" para que retorne apenas pastas e arquivos
if ($listar!="." && $listar!=".."){

// checa se o tipo de arquivo encontrado é uma pasta
if (is_dir($listar)) {
// caso VERDADEIRO adiciona o item à variável de pastas
$pastas[]=$listar;
} else{
// caso FALSO adiciona o item à variável de arquivos

$arquivos[]=$listar;
}
}
}


// lista os arquivos se houverem
$dir = 'teste/';



include ('conexao.php');

//selecionando dados da tabela

$sql = "SELECT * FROM local ORDER BY MONTH(data) DESC" ;
$query = mysql_query($sql);
while($sql = mysql_fetch_array($query)){

$id = $sql["idLocal"];
$local = $sql["local"];
$data = $sql["data"];





//data com formato do banco
$data_americano = $data;

//Separa as partes ( dia mes e ano) para trabalhar melhor
$partes_da_data = explode('-',$data_americano);

//agora com as partes separadas, é só juntar com as barras
$data_brasileiro = $partes_da_data[2].'/'.$partes_da_data[1].'/'.$partes_da_data[0];




//Pega dia da semana.
setlocale(LC_ALL, 'pt_BR','ptb');
$semana = strftime("%A", strtotime($data));

//escreve na tela os dados obtidos
echo "Nome do Arquivo: <a href='$local' target='_blank'>$local</a><br /> Data que foi postado o arquivo: "
.$semana.", ".$data_brasileiro;
echo "<br><br>";
$pasta = mkdir("arquivos_separados/$partes_da_data[1]", 0700);
$pasta = $partes_da_data[1];

}
if ($arquivos != "") {
foreach($arquivos as $listar){

print "<a href=\"teste/$listar\" target=\"_BLANK\">".$listar."</a><br>";
if ($partes_da_data[1] == $pasta){
copy("teste/$listar", "arquivos_separados/$partes_da_data[1]/$listar");
unlink ("teste/$listar");
}else{
echo "pode nao eim";
}

}
}













mysql_close($con);





?>


Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!