Ir para conteúdo
Fórum Script Brasil

binhofa

Membros
  • Total de itens

    33
  • Registro em

  • Última visita

Tudo que binhofa postou

  1. Olá pessoal. Estou reabrindo esse post só pra sanar uma dúvida rápida: Os downloads consigo fazer, porém no Internet Explorer isso não é possível. O que preciso fazer para resolver? Grato e fico no aguardo.
  2. Resolvido Stoma!!!! Graças ao seu link e sua disponibilidade em ajudar, consegui resolver meu problema. Inclui as seguintes linhas em vermelho logo no inicio do código: if ($action == "download") { $file = base64_decode(varSet("file")); header("Content-disposition: attachment; filename=\"".basename($file)."\""); header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Length: ' . filesize($file)); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate'); header('Pragma: public'); ob_clean(); flush(); readfile(".$file"); exit; A aplicação do ob_clean() e flush() foi aplicado errado anteriormente, mas dessa forma está correta. Stoma, muito obrigado mesmo. Abs
  3. Stoma, Fiz esse procedimento na linha que faz o download e não deu certo. Efetuei um outro teste transformando o arquivo que abre normalmente "somente como leitura" para que não ocorra nenhuma alteração nele, subi na web e fiz o download..... Sem sucesso! :( O que pode ser?
  4. No index.php apareceu o erro: _________________________________________________________________________________________________________________________ Notice: A session had already been started - ignoring session_start() in /home/storage/1/02/23/dominio/public_html/pasta/index.php on line 2 Strict Standards: date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for 'BRT/-3.0/no DST' instead in/home/storage/1/02/23/dominio/public_html/pasta/index.php on line 116 _________________________________________________________________________________________________________________________ No listar.php, listou os mesmos erros. Acredito que não seja a questão da data porque eu eliminei a linha de código que informava isso e o problema persistiu.
  5. Descobri o que causa o corrompimento do arquivo, mas não entendi o motivo e não achei a solução. Seguinte: Esse código que eu listei está dentro do arquivo listar.php na raiz do servidor. Tenho 100 pastas com vários arquivos dentro dela, inclusive um index.php dentro de cada uma delas. Esse arquivo index tem a seguinte linha de código: __________________________________________________________________________________ <? session_start(); if (!$_SESSION["s_login"]) { header('Location: http://www.meusite.com.br/logoff.php'); } ?> <?php include("/home/storage/1/02/23/dominio/public_html/listar.php"); ?> __________________________________________________________________________________ Se ao invés de incluir o listar.php eu colocar o código inteiro, ele faz o download normalmente.... O problema é: imagina se precisar fazer uma alteração? Tenho que mudar de tooooooooodos os index.php das 100 pastas e acaba ficando inviável. Fiz um teste aqui e deu certo. Agora travei. Não consigo sair daqui. Consegue identificar o que seja? Obrigado e fico no aguardo.
  6. Não Stoma. Não tem nenhuma dessas informações. Abre criptografado (abri um xls no notepad). :(
  7. Olá a todos. Segue o código: _______________________________________________________________________________________ <?php /* Script distribuído por brasilphp.net Qualquer dúvida, escreva para contato@brasilphp.net Para criação e manutenção de scripts e sistemas, escreva para contato@sobralsites.com */ function varSet($VAR) { return isset($_GET[$VAR]) ? $_GET[$VAR] : ""; } $action = varSet("action"); $pasta = base64_decode(varSet("pasta")); //Lista dos arquivos que não serão listados $denyFiles = array(".htaccess","thumbs.db"); if ($action == "download") { $file = base64_decode(varSet("file")); header("Content-disposition: attachment; filename=\"".basename($file)."\""); readfile(".$file"); exit; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Listagem de Arquivos</title> <style type="text/css"> body { font:11px Verdana, Arial, Helvetica, sans-serif; padding:0px; margin:0px; } a { text-decoration:none; color:#003366; } a:hover { color:#0099CC } .row1 { background-color:#F7F7F7 } .row2 { background-color:#EBEBEB } .rowOver { background-color:#C7DCFC } .extCell { font-weight:bold } </style> <script language="javascript" type="text/javascript"> function over(Obj) { nClass = Obj.className Obj.className = "rowOver" Obj.onmouseout = function() { Obj.className = nClass } } </script> </head> <body> <?php if ($action == ""): $fdir = "./$pasta"; chdir($fdir); $dir = opendir("."); while ($file = readdir($dir)) if (is_dir($file)) $dirs[] = $file; else $files[] = $file; $row = 2; ?> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="50px;"><strong>P.S:</strong> "listar.php" é o arquivo deste sistema</td> </tr> <tr> <td height="50px;"><strong>Exibindo:</strong> ROOT <?php echo empty($pasta) ? "" : $pasta; ?></td> </tr> </table> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"> <tr style="font-weight:bold"> <td width="55" height="20">&nbsp;</td> <td width="204">Nome</td> <td width="130">Tamanho</td> <td width="316">A&ccedil;&otilde;es</td> </tr> <?php if ($pasta != ""): ?> <tr class="row<?php echo $row; ?>" onmouseover="over(this)"> <td align="center" width="55" height="20" class="extCell">[DIR]</td> <td><a href="?pasta=<?php echo base64_encode(substr("$pasta",0,strrpos($pasta,"/"))); ?>">..</a></td> <td>--</td> <td>&nbsp;</td> </tr> <?php endif; ?> <?php if (is_array($dirs)) : sort($dirs); foreach ($dirs as $nome): if ($nome == ".." || $nome == ".") continue; if ($row == 2) $row = 1; else $row = 2; ?> <tr class="row<?php echo $row; ?>" onmouseover="over(this)"> <td align="center" width="55" height="20" class="extCell">[DIR]</td> <td><a href="?pasta=<?php echo base64_encode("$pasta/$nome"); ?>"><?php echo $nome; ?></a></td> <td>--</td> <td>&nbsp;</td> </tr> <?php endforeach; endif; ?> <?php if (is_array($files)): sort($files); foreach ($files as $nome): if (in_array(strtolower($nome),$denyFiles)) continue; if ($row == 2) $row = 1; else $row = 2; $tamanho = filesize("./$nome"); $info = pathinfo("./$nome"); ?> <tr class="row<?php echo $row; ?>" onmouseover="over(this)"> <td align="center" width="55" height="20" class="extCell">[<?php echo strtoupper($info["extension"]); ?>]</td> <td><a href="?action=download&file=<?php echo base64_encode("$pasta/$nome"); ?>"><?php echo $nome; ?></a> </td> <td><?php echo $tamanho > 1048576 ? round($tamanho/1048576,2)." Mb" : round($tamanho/1024,2)." Kb"; ?></td> <td>&nbsp;</td> </tr> <?php endforeach; endif; ?> </table> <?php endif; ?> </body> </html> <?php closedir($dir); ?> ____________________________________________________________________________________________ Minha dúvida: Quando efetuo o download de arquivos em Excel, ele corrompe. Sabe me dizer como resolvo isso? Tentei de tudo, mas não consegui solucionar. Obrigado e fico no aguardo.
  8. :( Gente, realmente não estou conseguindo chegar a uma solução. Estou garimpando mesmo na internet e não estou conseguindo localizar.
  9. Bom dia pessoal. alguém poderia me ajudar com essa dúvida? Obrigado gente.
  10. Boa tarde pessoal. Me ajudem? Tenho uma pasta JOÃO SILVA no meu servidor e dentro dela possuem diversos arquivos. Como resultado, gostaria que apresentasse da seguinte forma: ------------------------------------------------------------------------------------------------ JOÃO SILVA (nome da pasta como título) - arquivo01.pdf - arquivo02.pdf (de vários arquivos, apresente somente arquivos em PDF) ------------------------------------------------------------------------------------------------ Como complemento, gostaria que quando fosse criada a outra pasta JORGE PEREIRA e tivesse arquivos dentro dele, o sistema atualiza automaticamente e apresenta: ------------------------------------------------------------------------------------------------ JOÃO SILVA (nome da pasta como título) - arquivo01.pdf - arquivo02.pdf (de vários arquivos, apresente somente arquivos em PDF) JORGE PEREIRA (nome da pasta como título) - arquivo01.pdf - arquivo02.pdf (de vários arquivos, apresente somente arquivos em PDF) ------------------------------------------------------------------------------------------------ Podem me ajudar? Obrigado pessoal! Fico no aguardo.
  11. binhofa

    PHP Mailer

    Ótimo!!! Muito obrigado Hutuh.. ;)
  12. binhofa

    PHP Mailer

    Olá pessoal, Segue o código: ___________________ <?php If (isset($_POST['txtdest'])) { require_once('class.phpmailer.php'); $nome = $_POST['txtnome']; $destino = $_POST['txtdest']; $assunto = "Contato - Site"; $mensagem = $_POST['txtmsg']; $mailer = new PHPMailer(); $mailer->IsSMTP(); $mailer->SMTPDebug = 1; $mailer->Port = 587; //Indica a porta de conexao para a saida de e-mails $mailer->Host = 'smtp.site.com.br'; //smtp.dominio.com.br $mailer->SMTPAuth = true; //define se havera ou não autenticacao no SMTP $mailer->Username = 'contato@emailautenticado.com.br'; //Informe o e-mai o completo $mailer->Password = '123456'; //Senha da caixa postal $mailer->FromName = $destino; //Nome que sera exibido para o destinatario $mailer->From = 'contato@emailautenticado.com.br'; //Obrigatorio ser a mesma caixa postal indicada em "username" $mailer->AddAddress($destino,$nome); //Destinatarios $mailer->Subject = $assunto; $mailer->Body = $mensagem; $mailer->Send(); print "Mensagem enviada com sucesso!"; } else { ?> <html> <body> <form id="form" name="form" method="POST" action="index.php"> <h2 align="center" style="text-decoration: underline"> TESTE</h2> <table width="450px" align="center" border="0"> <tr> <td align="right">Nome</td> <td><input id="txtnome" name="txtnome" type="text" /></td> </tr> <tr> <td align="right">Solicitante</td> <td><input id="txtdest" name="txtdest" type="text" /></td> </tr> <tr> <td align="right">Mensagem:</td> <td><textarea id="txtmsg" name="txtmsg" rows="5" cols="20"></textarea></td> </tr> <tr> <td align="center" colspan="2"><input id="btEnviar" type="submit" value="Enviar" /></td> </tr> </table> </form> </body> </html> <?php } ?> _________________________ Minha dúvida: Esse formulário autenticado quando é enviado pelo meu site, ele chega pra mim como se eu quem estivesse enviado (ou seja, com meu endereço de email) e não com o endereço do solicitante. Como resolver essa questão? Obrigado e abraços pessoal. Fico no aguardo.
  13. Hmmm... ok.... vou testá-lo. Muito obrigado!
  14. Hmmm... ainda não é o que eu preciso. No link que passou ele extrai vários arquivos para poder copiar uma palavra, por exemplo. Acredito que tenha algo mais simples. Alguém saberia? Obrigado e abraços.
  15. Olá pessoal, Como faço para copiar um conteúdo de uma variável (em texto) para que eu, simplesmente, dê um "COLAR" em outro local? $texto = "Texto da Variável"; SET CLIPBOARD($texto); . . . Aí vou no Word, por exemplo e só dou um CTRL+V e aparece Texto da Variável É uma coisa simples, mas realmente não consegui achar na net em nenhum lugar. Valeu pessoal
  16. binhofa

    Restrição em pasta "PHP"

    Hmmmm.... vou olhar com mais calma depois. Obrigado por enquanto rapaz! ^_^
  17. binhofa

    Restrição em pasta "PHP"

    Sandro, bom dia. E como eu utilizaria SUBSTR, STR_REPLACE nesses casos? Valeu
  18. binhofa

    Restrição em pasta "PHP"

    Olá pessoal, tudo bem? Posso pedir a ajuda de vocês novamente? Segue meu código: ________________________________________________________________ USERS.PHP <? $usuarios = array( "usuario_a" => array("key" => "senha_a","pasta" => "pasta01/arquivos.php"), "usuario_b" => array("key" => "senha_b","pasta" => "pasta02/arquivos.php"), ); ?> _______________________________________________________________________________________________ Minha duvida: Como faço para, quando o usuário criar no botão "MANUTENCAO.PHP" ele me fornece somente os campos de Usuário, Senha e Pasta para fazer uma busca e efetuar as alterações......... Algo do tipo: ______________________________________________________________________________________________ MANUTENCAO.PHP (Ficticio) Localize pelo usuário: <aqui ele digita em uma textbox> Se localizou: Senha: <aqui ALTERA a senha> Pasta: <aqui ALTERA o caminho da pasta> Salvar alterações Se NÃO localizou: Senha: <aqui CADASTRA uma senha> Pasta: <aqui CADASTRA um direcionamento para uma pasta> Criar novo login ______________________________________________________________________________________________ O meu arquivo USERS.PHP ficará assim (se caso for um novo login): ________________________________________________________________ USERS.PHP <? $usuarios = array( "usuario_a" => array("key" => "senha_a","pasta" => "pasta01/arquivos.php"), "usuario_b" => array("key" => "senha_b","pasta" => "pasta02/arquivos.php"), "usuario_c" => array("key" => "senha_c","pasta" => "pasta03/arquivos.php"), ); ?> _______________________________________________________________________________________________ Obrigado e fico no aguardo. Valeu galera!!!!! :D
  19. binhofa

    Restrição em pasta "PHP"

    Não. Fiz os testes e depois de ter dado o logoff ele volta para o index.
  20. binhofa

    Restrição em pasta "PHP"

    Consegui........... :D Fiz assim: ______________________________________________________________________________________________________________ INDEX.PHP <? session_start(); include("users.php"); //verificação de login e senha if (isset($_POST['login']) && isset($_POST['senha'])) { if (array_key_exists($_POST['login'], $usuarios)) { if ($usuarios[$_POST['login']]['key'] == $_POST['senha']){ session_start(); $_SESSION['s_login'] = $_POST['login']; header('location:'. $usuarios[$_POST['login']]['pasta']); // vai para a pasta } else { $erro = 'Senha incorreta.'; } } else { $erro = 'Login inválido.'; } } ?> <body background="images/fundo.jpg" style="background-attachment: fixed"> <form method="post"> <div align="center"> <table border="0" cellspacing="0" cellpadding="0"> <tr><td align="left"><b><font face="Verdana" size="2">Login:&nbsp;&nbsp;&nbsp;&nbsp; </font></b></td><td width="148"><input type="text" name="login" /></td></tr> <tr><td align="left"><b><font size="2" face="Verdana">Senha:&nbsp;&nbsp;&nbsp;&nbsp; </font></b></td><td width="148"><input type="password" name="senha" /></td></tr> <tr><td colspan="2"> <p align="center"><br /><font color="#FFFFFF"><input type="submit" value="Enviar" /></font><p align="center">&nbsp;</td></tr> </table> </div> </form> ______________________________________________________________________________________________________________ ARQUIVOS.PHP (em outra pasta) <? session_start(); if (!$_SESSION["s_login"]) { header('Location: ../index.php'); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Language" content="pt-br"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> </head> <body> <p>Está logado<a href="logoff.php"><br><br>Sair</a></p> </body> </html> ______________________________________________________________________________________________________________ LOGOFF.PHP (Na mesma pasta do Arquivos.php) <? session_start(); $_SESSION = array(); if(isset($_COOKIE[s_login])){ setcookie(s_login, '', time() - 1000, '/'); } session_destroy(); header("Location: ../index.php"); ?> ______________________________________________________________________________________________________________ Vale lembrar que há um INCLUDE de usuario e senha senao ele não valida USERS.PHP (na mesma pasta de arquivos.php) <? $usuarios = array( "usuario_a" => array("key" => "senha_a","pasta" => "pasta01/arquivos.php"), "usuario_b" => array("key" => "senha_b","pasta" => "pasta02/arquivos.php"), ); ?> ________________________________________________________________________________________________________ Espero ter ajudado de alguma forma alguém. Ainda estou na caça da URL amigável, que nada mais é do que criptografar a URL.... (Ex.: a pasta www.dominio.com.br/pasta01/arquivos.php deve-se transformar em www.dominio.com.br/wdfgAGHRTY56y). Alguém descobriu? Abraços gente.
  21. binhofa

    Restrição em pasta "PHP"

    Pessoal, ainda estou descobrindo como faz para mudar a URL, mas ainda não consegui sucesso. Naquele script, estou tendo um problema com o LOGOFF. Ele não está destruindo a sessão. Seguem os códigos: __________________________________________________________________________________________________________ INDEX.PHP (na raiz) <? include("users.php"); //verificação de login e senha if (isset($_POST['login']) && isset($_POST['senha'])) { if (array_key_exists($_POST['login'], $usuarios)) { if ($usuarios[$_POST['login']]['key'] == $_POST['senha']){ session_start(); $_SESSION['s_login'] = $_POST['login']; header('location:'. $usuarios[$_POST['login']]['pasta']); // vai para a pasta } else { $erro = 'Senha incorreta.'; } } else { $erro = 'Login inválido.'; } } ?> <body> <form method="post"> <div align="center"> <table border="0" cellspacing="0" cellpadding="0"> <tr><td align="left"><b><font face="Verdana" size="2">Login:&nbsp;&nbsp;&nbsp;&nbsp; </font></b></td><td width="148"><input type="text" name="login" /></td></tr> <tr><td align="left"><b><font size="2" face="Verdana">Senha:&nbsp;&nbsp;&nbsp;&nbsp; </font></b></td><td width="148"><input type="password" name="senha" /></td></tr> <tr><td colspan="2"> <p align="center"><br /><font color="#FFFFFF"><input type="submit" value="Enviar" /></font><p align="center">&nbsp;</td></tr> </table> </div> </form> __________________________________________________________________________________________________________ Se o login foi joao, será encaminhada para a pasta www.dominio.com.br/pasta/joao/arquivos.php __________________________________________________________________________________________________________ LOGOFF.PHP (na raiz) <?php session_start(); $_SESSION = array(); unset($_SESSION); session_destroy(); header("Location: index.php"); ?> __________________________________________________________________________________________________________ Ele volta para o index.php, solicitando Usuario e senha normalmente, mas quando copio o endereço www.dominio.com.br/pasta/joao/arquivos.php, eu consigo ver normalmente o conteúdo alguém pode me ajudar? O que pode ser? Obrigado mais uma vez e fico no aguardo.
  22. binhofa

    Restrição em pasta "PHP"

    Beleza então Sandro11, já me ajudou bastante. Quando eu descobrir como faz, com certeza vou postar aqui pra nós, pode deixar. Se alguém souber e puder ajudar (ou indicar um link), agradecerei bastante. Muito obrigado pela ajuda.
  23. binhofa

    Restrição em pasta "PHP"

    AEEEEEEEEEEEEE.... :D :D :D :D :D ... Muito bom Sandro!!!! Parabéns. Tive que fazer um ajuste, retirando o "action=testes.php" e funfou!!! Agora só mais um detalhe pra ficar perfeito: Quando eu digito o login e senha do cliente_x, o endereço fica www.nomedosite.com.br/cliente_x/arquivos/index.php. Como faço para o endereço ficar assim: www.nomedosite.com.br/asdTsklw90jM (ele cria automaticamente um outro nome, escondendo a pasta do cliente), e tendo o mesmo efeito de como se estivesse na pasta? Nossa, vai me ajudar muito se isso der certo. Fico no aguardo. Obrigado mais uma vez!!!!!!!!!!!! ;) ;) :) :) ;)
  24. binhofa

    Restrição em pasta "PHP"

    Oi Sandro, Tive que só corrigir alguns detalhes de virgula e colchete, mas tudo resolvido. O problema é que continua dando o mesmo erro. Ele está indo diretamente para a pasta_y. _____________________________________________________________________________________________________________ <? // definindo seus usuarios via array: $usuarios = array('cliente_x' => 'teste'); $usuarios = array('cliente_y' => 'teste2'); // definindo senhas usuarios via array: $usuarios['cliente_x']['key'] = 'senha'; $usuarios['cliente_y']['key'] = 'senha2'; // definindo pastas dos usuarios via array: $usuarios['cliente_x']['pasta'] = 'pasta_x'; $usuarios['cliente_y']['pasta'] = 'pasta_y'; if ($usuarios = array('cliente_x' => 'teste')) { header('location: pasta_x');} if ($usuarios = array('cliente_y' => 'teste2')) { header('location: pasta_y'); } //verificacao de login e senha if (isset($_POST['login']) && isset($_POST['senha'])) { if (array_key_exists($_POST['login'], $usuarios)) { // se existe $_POST['login'] dentro de usuarios if ($usuarios($_POST['login']['key'] == $_POST['senha'])) { // se a senha do usuario estiver correta, define a sessao session_start(); $_SESSION['login'] = $_POST['login']; // guarda o login na sessao header('location:'. $usuarios[$_POST['login']]['pasta']); // vai para a pasta } else { $erro = 'Senha incorreta.'; } } else { $erro = 'Login invalido.'; } } ?> <body> <form method="POST" action="index.php"> <? if ($erro!='') echo $erro;?> <table> <tr> <td>Usuario:</td> <td width="148"><input type="text" name="login" /></td> </tr> <tr> <td align="left">Senha:</td> <td width="148"><input type="password" name="senha" /></td> </tr> <tr> <td colspan="2"> <p align="center"><br /> <input type="submit" value="Enviar" /> </p> </td> </tr> </table> </form> _____________________________________________________________________________________________________________ O que pode ser agora? Valeu... fico no aguardo!
  25. binhofa

    Restrição em pasta "PHP"

    Grande Sandro, obrigado. O único problema é que ele não pede para inserir a informação Usuário e Senha. Quando digito o endereço, ele já vai para www.<dominio>.com.br/pasta_y. Você sabe me dizer o que é? Valeu e abraços!
×
×
  • Criar Novo...