Ir para conteúdo

POWERED BY:

Arquivado

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

jonikaites

Pegar Arquivos de um diretorio no Windows e gravar no BD

Recommended Posts

Salve maravilhosas mentes brilhantes do iMasters,

 

seguinte, fiz um script, que pega todas as imagens de dentro de uma pasta, grava em um array e então as diminui para um tamanho padrão, para fazer uma galeria de imagens.

 

Utilizei pedaços de código de várias pessoas e partes de minha autoria, o que o fez funcionar aqui no meu PC no Windows XP com Apache e PHP 4.3, porém quando mando pro meu web-server ele dá erro.

 

No meu pc ele varre corretamente o diretorio e pega todas as imagens. funciona tudo perfeitamente, porém no servidor ele tah me incomodando.

 

vai ae o codigo original:

 

<?php$dia = $_POST["dia"];$mes = $_POST["mes"];$ano = $_POST["ano"];$hora = $_POST["hora"];$minuto = $_POST["minuto"];$segundo = $_POST["segundo"];$datahora = $ano.$mes.$dia.$hora.$minuto.$segundo;$drive = $_POST["drive"];$pastapar = $_POST["pasta"];$pasta = $drive.":/".$pastapar;$expedi = $_POST["expedicao"];$legenda = $_POST["legenda"];   //VERIFICA SE O DIRTÓRIO INFORMADO É VÁLIDO   if(!is_dir($pasta) ) { ?>	  <script language="JavaScript">	  <!--		 alert("Diretório Inválido!!");		 window.history.go(-1);	  //-->	  </script>	  <?	  //TERMINA A EXECUÇÃO DO SCRIPT	  die;   }//FECHA IF   else   {	 echo("Diretorio $pasta é válido");   }      $arq = scandir($pasta);         foreach ($arq as $valor) {   	  //USANDO EXPRESSÕES REGULARES PARA VALIDAR A EXTENSÃO DO ARQUIVO	  preg_match_all("/^(.*)\.(.*)$/i", $valor, $ext); 	  	  //NOME DO ARQUIVO	 	  $nome = $ext[1][0];   	  //EXTENSÃO DO ARQUIVO 	  $ext  = $ext[2][0];   	  	  //VERIFICA SE A EXTENSÃO É PERMITIDA	  if(in_array($ext, $c_permissao) ) {		 $imagens[]   =   $valor;	  }//FECHA IF	     }//FECHA FOREACH      //VERIFICA SE POSSUI ALGUMA IMAGEM   if($imagens) {...

 

e dai então ele começa a diminuir as imagens e gravar no BD

 

fiz algumas alterações, porém não tem jeito de funcionar.

 

procurei aqui no forum varios artigos referentes a esse problema, porém nenhum solucionou meu problema. Gostaria de olhassem o codigo e me dissessem se tem alguma coisa errada.

 

Flwzzz.

Abraços a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não pode usar PHP para ler/manipular uma pasta ou arquivo na máquina cliente. No seu micro funciona porque ele está rodando o servidor e o cliente, e consequentemente encontra as pastas.Só pra você ver como isso é absurdo, imagina só um cliente usando Linux, onde não existe os drives à qual você se refere.

Compartilhar este post


Link para o post
Compartilhar em outros sites

e há alguma possibilidade de eu pegar as fotos de uma pasta do cliente e mandar pro servidor e então ele realizar as alterações de dimensões?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem o Javascript que trabalha no cliente. Não conheço bem esta linguagem, mas acredito q talvez ela seja capaz de fazer o q você quer. Pelo q entendi, você quer apenas redimensionar imagens, sem envia-las para algum servidor, então poste no forum de javascript.Agora se você quizer redimensioná-las para utilizar em algum site, utilize javascript para varrer e enviar as imagens para o servidor. Aí com o PHP você redimensiona elas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

humm...assim, o que eu necessito é pegar todas as fotos que estão em um diretorio qualquer do computador cliente e mandá-las para o servidor e então ele as redimensiona e cria os thumbnails e grava o nome delas no BD para que eu possa realizar as visualizações posteriormente.Não sei se por JavaScript dá rpa faze isso pq naum conheco bem a linguagem e tb to comecando agora com PHP.Estive estudando e gostaria de saber se tem como mandar as fotos num arquivo .ZIP, descompacta-las em uma pasta e então redimensioná-las no servidor?Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, consegui fazer funcionar com a seguinte função:

 

function unzip($zip_file, $src_dir, $extract_dir){ copy($src_dir . "/" . $zip_file, $extract_dir . "/" . $zip_file); chdir($extract_dir); shell_exec("unzip $zip_file");}unzip("zipfile.zip","../../temp","temp");

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.