paulo_aa

Membros
  • Content Count

    42
  • Joined

  • Last visited

Community Reputation

0 Neutro

About paulo_aa

  1. paulo_aa

    Mudança De Diretorio

    Eu usei @ para que o PHP não exiba erros ou alertas ao usuário ao executar a função. Não é necessário já que eu igualei a uma variável. Aqui acabei botando por descuido(costume de colocar quando não atribuo as funções à variáveis). :D O cara pediu uma função de COPIAR o arquivo, e não de TRANSFERIR o arquivo. Se apagar o arquivo base noc aso dele vai ser mutio mais trabalhoso pois pelo que entendi ele vai criar vários diretórios novos, e aí se eu apagar o original vai dar mais trabalho para ele colocar o novo caminho do arquivo para copiar novamente. B)
  2. paulo_aa

    Mudança De Diretorio

    este script é o que copia um arquivo: <?php // Na linha abaixo defina o caminho para o arquivo que você quer copiar. Se este script estiver rodando na mesma pasta do arquivo não precisa colocar o http://www.seusite.com/ $arquivo = 'http://www.seusite.com/teste.htm'; // A linha baixo define o diretório onde você quer colocar uma cópia do arquivo acima. Se este script estiver rodando na mesma pasta do arquivo não precisa colocar o http://www.seusite.com/ // Esta pasta tem que ter permissão de escrita(no caso de servidor UNIX/LINUX) para poder o script funcionar. $nova_pasta = 'http://www.seusite.com/novo'; $copia_arquivo = @copy($arquivo, $nova_pasta . "/" . $arquivo); if ($copia_arquivo) { echo 'Arquivo copiado com êxito'; } else { echo 'Erro copiando arquivo.'; } ?> Qualquer coisa, manda as ordi. :)
  3. Aê cara consegui fazer o que queria. Esei eval. Valeu cara pela ajuda, brigadão. B)
  4. Olá. Eu tenho uma função básica de INNER HTML e passo para ela apenas 2 parâmetros: minha_funcao(url,tipo) { ...conteúdo da função... } Eu queria passar mais 1 parâmtero no final, e esse parâmetro terá o nome de uma função que eu quero que seja executada. :o Não assim: minha_funcao(url,tipo,func) { ...conteúdo da função... outra_funcao(func) } E sim eu queria que a função que ao invés de uma função fixa, minha_funcao chamasse a função que tem o nome do parâmetro func . ;) Por ex: Se eu passasse no parâmetro func o valor rodaapos eu queria que a função rodaapos() (já definida em outro lugar do script lógico) fosse chamada. Eu fuçei em 2 protoypes que eu peguei na net que eu sei que executam essa coisas mas não consegui achar a parte do código que faz isso. Alguém pode ajudar-me? Desde já, muito obrigado. :)
  5. paulo_aa

    Classe Php

    Fala cara. Consegui!!!!!!!!!!!!!!! :D Fiz uma classe do jeito que eu queria, com todas as funções inclusive nivel do diretório. :P Eu fiz com base na função que eu disse que tinha começado. Achei que ficou ótima a classe, só 3 funções, inclusive tem construtor pra com apenas 1 linha de código já rodar a classe. E o mais importante pra mim: foi do meu esforço, não desisti, fui atrás, consegui. :rolleyes: Lá vai ela: <?php /* +------------------------------------------+ | Sistema que monta árvore de diretórios | +-- --+ | Sistema desenvolvido em: PHP | +------------------------------------------+ | @access restrict | | @author Paulo Afonso Alcântara | | @contact [email protected] | | @package WIMAJAX! | | @version 0.1.0.0 | | @released 02.08.2006 | +------------------------------------------+ | | -> Esta classe é de uso livre, mas deve-se manter os créditos do autor(estão logo acima) | e deixar versões baseadas/derivadas desta para uso livre. | | -> Ainda não testada em PHP 5x. Se você é um usuário autorizado e quizer testar no PHP 5x, | por favor me informe como este sistema se sai nesta nova versão do PHP. | | -> Se você leu até aqui, obrigado. :) | +------------------------------------------+ */ /* +-- Este arquivo: --+ | | @name ArvorePastas_class3.inc.class.php | | -> Este arquivo contém uma classe que cria uma árvore de diretórios. | +-------------------+ */ $grupo_de_diretorios = "galerias"; if ( isset($_GET['gru']) and $_GET['gru'] != "" ) { $grupo_de_diretorios = $_GET['gru']; } // ********** COMEÇO DA CLASSE "ArvorePastas" ********** class ArvorePastas{ function ArvorePastas($diretorio="",$nivel=-1) { $this->diretorio = $diretorio; $this->nivel = $nivel; $this->barra = DIRECTORY_SEPARATOR; if ( !empty($this->diretorio) ) { $this->LerPasta($diretorio,$nivel); } else { return false; } } function LerPasta($nome_dir,$nivel) { if ( isset($nome_dir) ) { // O Diretorio especificado é aberto com extensão DIR do php $grupo = dir($nome_dir) or die("Erro: Diretório solicitado inexistente!"); // Inicia um contador/iterador em zero(que é o número padrão inicial em arrays no php) $i_g = 1; $lista_grupo = Array(); while (false !== ($grupo_file = $grupo->read())) { if( $grupo_file != "." and $grupo_file != ".." and is_dir($nome_dir . $this->barra . $grupo_file) ) { $lista_grupo['abs'][$i_g] = $nome_dir . $this->barra . $grupo_file; $lista_grupo['rel'][$i_g] = $grupo_file; $lista_grupo['niv'][$i_g] = $nivel + 1; $i_g++; } } $grupo->close(); if ( isset($lista_grupo['rel']) and isset($lista_grupo['abs']) and is_array($lista_grupo['abs']) and count($lista_grupo['abs']) >= 1 ) { $this->ExibePasta($lista_grupo['abs'],$lista_grupo['rel'],$lista_grupo['niv']); return $lista_grupo; } else { return "Erro na leitura dos dados."; } } else { return "Erro na leitura dos dados."; } } function ExibePasta($caminho_dir=0, $nome_dir=0, $nivel_dir=0) { if ( is_array($caminho_dir) and is_array($nome_dir) and is_array($nivel_dir) and count($caminho_dir) >= 1 ) { $i_gb = 1; while ($i_gb <= count($caminho_dir)) { echo "Nível do diretório: " . $nivel_dir[$i_gb] . " "; for ($i=$nivel_dir[$i_gb]; $i > 0; $i--) { echo "_"; } echo '<a href="' . $caminho_dir[$i_gb] . '" title="' . $caminho_dir[$i_gb] . '">' . $nome_dir[$i_gb] . '</a>'; echo "<br />"; $this->LerPasta($caminho_dir[$i_gb],$nivel_dir[$i_gb]); $i_gb++; } unset($i_gb); return "Sucesso na realização."; } else { return "Erro na leitura dos dados."; } } } // ********** TÉMINO DA CLASSE "ArvorePastas" ********** echo "<strong>Grupo de diretórios(diretório pai): " . $grupo_de_diretorios . "</strong><br />"; $arvoreteste = new ArvorePastas($grupo_de_diretorios); ?> É só salvar o código numa página com algum nome e extensão *.php e rodar. Ah, passem o nome do diretório a ser lido via get. O nome da variável é "gru"(sem aspas). Valeu a todo o pessoal, e principalmente ao David. Valeu. :D - Edit ----------------------------------------------------------------------------------------------- Modificação na função EXIBEPASTA: a linha onde havia echo $caminho_dir[$i_gb]; foi substituída por echo '<a href="' . $caminho_dir[$i_gb] . '" title="' . $caminho_dir[$i_gb] . '">' . $nome_dir[$i_gb] . '</a>'; Valeu.
  6. paulo_aa

    Classe Php

    valeu cara mas não funcionou não. :unsure: Eu começei uma função do zero (esse outra aí de cima é adaptada da classe de outro cara) mas o problema é que aminha só lê os diretórios dentro do diretório especificado ma snão lê os diretórios dentro desses diretórios e todos os filhos dos diretórios filhos e etc... Eu quero uma árvore de todos os diretórios que existem dentro de um diretório a ser especificado e aí ele retorna todos os diretórios com o seu nome, o seu caminho(em relação ao diretório especificado para leitura) e sua profundidade(também relativa ao diretório especificado para leitura). Eu não estou em casa agora, mas quando eu chegar eu posto a função que comecei aqui pra ver se me ajudas a colocar ela pra funcionar como eu quero. B) Cara valeu pela ajuda. :)
  7. paulo_aa

    Classe Php

    Resolveu não cara. Testei colocando no inicio de cada função pra ir testando ma snão pegou de nehum jeito. EM qual função e em qual lugar você diz que é pra colocar esse código aí?
  8. paulo_aa

    Classe Php

    Valeu essa dica do DIRECTORY_SEPARATOR mas o pessoal não entendeu muito bem o que eu estou querendo. Aquela variável $filename que eu quero está num LOOP então na verdade ela tem vários valores. O que eu queria era colocá-la no array(da mesma forma que $nome ) para poder recuperar seus valores na segunda função, para aí poder usar $filename com seu $nome correspondente. Será que alguém consegue me ajudar. :unsure:
  9. paulo_aa

    Classe Php

    Na primeira função da classe abaixo eut enho uma variável que desejaria recuperá-la para montar links na segunda função, mas não consigo pois é um array multidimensional e eu não consigo trabalhar. Tem explicado a variável e o que eu desejo no meio da classe. ---------------------------------------------------------------------------------------------------------------------------- if (PHP_OS == "WIN32") { define("BARRA", "\\"); } else { define("BARRA", "/"); } class ArvoreDiretorios { function executa($diretorio) { $array_dados = ArvoreDiretorios::lerDiretorio($diretorio); ArvoreDiretorios::mostraArvore($array_dados, 0); } /** * Esta função lê o diretório passado e pega o espaço total * ocupado pelos arquivos e diretórios, retornando tudo em um * array * * @author Silvano Girardi Jr. <[email protected]> */ function lerDiretorio($nome) { $retorno = array(); if ( isset($nome) ) { $handle = @opendir($nome); if (!$handle) { return "Não foi possível abrir o diretório"; } $tamanho = 0; while($filename = readdir($handle)) { if ( $filename != "." && $filename != ".." && is_dir($nome.BARRA.$filename) && $filename != "peqs" ) { //Nessa altura aqui eu já tenho a variável $filename que eu queria mandá-la pra o array e recuparar na segunda função dessa classe $temp = ArvoreDiretorios::lerDiretorio($nome.BARRA.$filename); if ( is_array($temp) ) { if ( !isset($retorno[$nome]) or !is_array($retorno[$nome]) ) { $retorno[$nome] = array(); } $retorno[$nome] = array_merge($retorno[$nome], $temp); } else { $tamanho += $temp; } } } closedir($handle); if ( !isset($retorno[$nome]) or !is_array($retorno[$nome])) { $retorno[$nome] = array(); } array_push($retorno[$nome], number_format($tamanho, 2, ".", ",")); return $retorno; } else { return "Erro. Não foi possível varrer o(s) diretório(s)."; } } /** * Esta função é uma modificação da versão apresentada nos comentários * da função dir() no site php.net/dir por 'de\kibo\niels' */ function mostraArvore ($array_dados, $profundidade) { //Eu queria recuperar a variável $filename aqui foreach ($array_dados AS $nome => $tamanho) { if (is_array($tamanho)) { for ($i = 0; $i < $profundidade - 1; $i++) { echo "<span class='espaco'> </span>"; } De modo a trabalhar com ela e o $nome correspondende a ela aqui echo "<span class='principal'><a href='" . $nome . "'>" . $filename . "</a></span><br />"; echo "\n"; $profundidade++; ArvoreDiretorios::mostraArvore($tamanho, $profundidade); $profundidade--; } } } } ---------------------------------------------------------------------------------------------------------------- Se alguém puder me ajudar eu ficaria muito grato. Obrigado desde já. :)
  10. Fui eu ai em cima. B)
  11. Recebe sim senhor! Ou seu script está com erro ou então seu Hotmail está identificando erroneamente as mensagens vindas do form. como Lixo Eletrônico. Veja lá, a sua pasta de Lixo Eletrônico do Hotmail. Se não estiver lá é porque seu script tem erro(s). Vê e responde aí pra ver se era isso mesmo. B)
  12. Olá, eu tou com um problema aqui para criar uma função. Eu preciso 'pegar' tudo que está entre determinadas tags e colocar dentro de uma variável. É mais ou menos assim: Eu tenho um código HTML que é lido em uma variável. Nesse código HTML tenho uma espécie de "tag" especial que eu inclui como comentário. Essa tag é no modelo seguinte: <!--#=> arquivo.css[]arquivo.php[]arquivo.php #<=--> Pois bem eu queria um código que fizesse uma busca na minha variável (que armazena o código HTML) e retornasse tudo que está entre <!--#=> e #<=--> em outra variável. Como seria essa busca? Alguém dá alguma dica ou posta um código de exemplo aí. Obrigado desde já. :) ass: Paulo Afonso
  13. É, a dica do Mestre não funcionou. O servidor está configurado para aceitar sessions sim, pois quando eu executo a página direto(colocando o endreço direto pra ela na barra do navegador) não dá esse erro. O erro só aparece quando eu chamo ela pra dentro de outra página por meio de um INCLUDE. Mas o erro mesmo assim não deveria aparecer pois o INCLUDE está antes de tudo na outra página. Se algué puder ajudar, era de grande importãncia.
  14. Cara não surtiu efeito. Eu tentei tanto colocando esses códigos na página LOGIN.PHP como tentei colocar nas outras páginas que dão INCLUDE no LOGIN.PHP mas mesmo assim nada. lembrando que eu tenho vários ECHO na página LOGIN.PHP, tipo: echo "código html aqui"; echo "mais código html aqui logo seguido ao anterior"; echo "mais html aqui"; Esses echos todos seguidos. Qual será o problema?