Ir para conteúdo
Fórum Script Brasil

neto.joaobatista

Membros
  • Total de itens

    116
  • Registro em

  • Última visita

Posts postados por neto.joaobatista

  1. Neto,

    perfeito! Não entendo muito de preg e eregi_replace. Pode me ajudar a substituir a preg_replace, para que eu ache os valores sem case sensitive? (se procuro "festival", ele só sublinha se a palavra tiver em minúscula, deixando "Festival" de lado)

    Elementar meu karo,

    O preg_match e o preg_replace utilizam na área da expressão regular, um / no início e um / no final:

    /regexp/
    para que você faça a expressão não ser sensível a caixa basta colocar um i depois da barra final:
    /regexp/i

    Abraços...

  2. Hey amigo, tenta assim:

    // Abrindo os arquivos arq1.txt e arq2.txt
    $arq1 = fopen( "arq1.txt" , "r" );
    $arq2 = fopen( "arq2.txt" , "r" );
    
    // Declaramos as variáveis que vamos usar
    $arq1_arr = array();
    $arq2_content = "";
    
    // Lemos o arq1.txt
    while ( ( $line = fgets( $arq1 ) ) ){
        $line = preg_replace( "/(\\r\\n|\\r|\\n)/" , "" , $line );
    
        if ( !in_array( $line , $arq1_arr ) )
            $arq1_arr[] = $line;
    }
    
    // Lemos o arq2.txt
    while ( ( $line = fgets( $arq2 ) ) ){
        $arq2_content .= sprintf( "|%s|" , preg_replace( "/(\\r\\n|\\r|\\n)/" , "" , $line ) );
    }
    
    
    // Comparamos as diferenças
    $mtc = array();
    
    if ( preg_match_all( sprintf( "/\\|(%s)\\|/" , implode( "|" , $arq1_arr ) ) , $arq2_content , $mtc ) ){
        $diff = array_diff( $arq1_arr , $mtc[ 1 ] );
        
        // Existem itens no arq1.txt que não estão no arq2.txt então vamos gravá-las no arq3.txt
        if ( count( $diff ) ){
            $arq3 = fopen( "arq3.txt" , "w+" );
            $arq3_content = implode( "\r\n" , $diff );
    
            fwrite( $arq3 , $arq3_content , strlen( $arq3_content ) );
            fclose( $arq3 );
        }
    }
    
    // Fechando os arquivos
    fclose( $arq2 );
    fclose( $arq1 );

    []'s

    J. Neto

  3. $query_Men = 'SELECT * FROM ibf_members WHERE id = $id';

    mas aparece a seguinte mensagem "Unknown column '$id' in 'where clause'"

    Kara, é o seguinte:

    Quando você utiliza as aspas simples, o conteúdo da variável $id não é interpretado pelo PHP, se você utilizar as aspas duplas deverá funcionar:

    $query_Men = "SELECT * FROM ibf_members WHERE id = $id";

    []'s

    J. Neto

  4. to usando um script pra destacar os termos de uma busca em um bd. O script simplesmente não funciona e eu não consegui encontrar o motivo.

    Kara, muito código para pouca coisa...

    Tenta assim:

    $words    = $_POST[ "pesquisa" ];
    $text    = "Essa é a frase que estará no seu banco de dados";
    
    echo preg_replace( sprintf( "/\\b(%s)\\b/" , preg_replace( "/\\s/" , "|" , $words ) ) , '<span class="sublinharTermos">$1</span>' , $text );
    
    // Uma pesquisa pelas palavras: frase e seu retornaria o seguinte:
    // Essa é a <span class="sublinharTermos">frase</span> que estará no <span class="sublinharTermos">seu</span> banco de dados

    []'s

    J. Neto

  5. Ele está em fase beta e nesta fase somente usuários experientes devem ajudar.

    http://www.softnelli.com/downloads/install_panku.exe

    Olá amigo,

    Kara, talvez se você desenvolvesse essa ferramenta de forma que não estivesse limitada à plataforma Win...

    Eu não vou rodar um emulador apenas para rodar uma ferramenta; nem a sua, nem nenhuma (por melhor que seja a ferramenta).

    Digo isso, porque a única forma de eu voltar a utilizar o Flash foi a possibilidade de codificar com o Flex no Linux.

    Dica:

    Se a sua idéia é uma ferramenta opensource então o PHP-GTK pode ser uma ótima dica para desenvolvê-la, afinal, você vai utilizar PHP para desenvolver uma ferramenta PHP

    Se a sua idéia é uma ferramenta comercial, então procure desenvolvê-la em Java.

    Agraços,

    J. Neto

  6. Tenho no formulário um botão submit, que quando acionado redireciona para o arquivo cadastro.php, mas dessa maneira o código php não é executado. Gostaria de saber o que devo fazer para que o botão submit acione o código php.

    Você tem dois arquivos ???

    Um cadastro.php e outro codigo.php, quando seu formulário chamar cadastro.php você quer também que o codigo.php seja chamado ???

    Se for isso, basta colocar um require no seu cadastro.php:

    // Cadastro.php
    
    require_once( "codigo.php" );
    
    // ... Seu código do cadastro.php
    E dentro do seu codigo.php:
    // Codigo.php
    
    echo "Hey, estamos dentro do codigo.php";

    Se não for isso, então é melhor você explicar melhor o seu problema...

    []'s

    J. Neto

  7. <?php 
        define('DIR_DOWNLOAD', 'downloads'); // Aqui vale qualquer coisa :) 
         
        $arquivo = $_GET['arquivo'];
        if (stripos($arquivo, './') !== false || stripos($arquivo, '../') !== false || !file_exists($arquivo))
            exit('Operação não permitida.');
    
        $arquivo = DIR_DOWNLOAD.$arquivo; // Aqui a gente só junta o diretório com o nome do arquivo
    
       // Configuramos os headers que serão enviados para o browser
    header('Content-Description: File Transfer');
    header('Content-Disposition: attachment; filename="'.$novoNome.'"');
    header('Content-Type: application/octet-stream');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: ' . filesize($targetFile));
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Expires: 0');
    
    // Envia o arquivo para o cliente
    readfile($targetFile);
    ?>
    o que será que esta acontecendo ?
    Bom, primeiro vamos entender algumas coisas: 1.
    $arquivo = $_GET['arquivo'];
    if (stripos($arquivo, './') !== false || stripos($arquivo, '../') !== false || !file_exists($arquivo))
        exit('Operação não permitida.');
    Se você fez isso ai por segurança, então não é necessário, basta utilizar basename( $filename )
    $arquivo = basename( $_GET[ "arquivo" ] );
    
    if ( !file_exists( $arquivo ) )
        exit( "Arquivo não encontrado" );
    Isso aqui parece ser um problema:
    $arquivo = DIR_DOWNLOAD.$arquivo;
    Se o arquivo pode não estar na pasta de execução do seu script, então o primeiro if poderá ser sempre verdadeiro, interrompendo seu script sempre. Eu faria o seguinte:
    $arquivo = sprintf( "downloads/%s" , basename( $_GET[ "arquivo" ] ) );
    
    if ( !file_exists( $arquivo ) )
        exit( "Arquivo não encontrado" );
    Aqui parece ter outro problema:
    header('Content-Disposition: attachment; filename="'.$novoNome.'"');
    header('Content-Type: application/octet-stream');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: ' . filesize($targetFile));
    Você está utilizando uma variável chamada $novoNome e outra chamada $targetFile, mas você não definiu elas em lugar nenhum... Abaixo o seu código modificado:
    if ( isset( $_GET[ "arquivo" ] ) && !empty( $_GET[ "arquivo" ] ) ){
        if ( file_exists( ( $arquivo = sprintf( "downloads/%s" , ( $nome = basename( $_GET[ "arquivo" ] ) ) ) ) ) ){
            header('Content-Description: File Transfer');
            header('Content-Disposition: attachment; filename="'.$nome.'"');
            header('Content-Type: application/octet-stream');
            header('Content-Transfer-Encoding: binary');
            header('Content-Length: ' . filesize( $arquivo ) );
            header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            header('Pragma: public');
            header('Expires: 0');
    
            readfile($arquivo);
        }
    }

    []'s

    J. Neto

  8. porem o meu problema maior esta em alguns dados que quando vem do excel vem com dois espaços.. por exemplo vem "Phone Ilimitado" ao invés de "Phone Ilimitado"

    ai e q ta o problema.. ele vai pra base de dados normalmente, puxo da bd normalmente, mas pra enviar e q ta o problema..

    já tentei um

    $servico=str_replace(" ", "_", $servico);

    Ok, tenta assim:

    $str = "Teste  de    string com  vários  espaços onde     deveriam   ter apenas      um";
    $str = preg_replace( "/\\s{2,}/" , " " , $str );
    
    echo $str; //Teste de string com vários espaços onde deveriam ter apenas um

    []'s

    J. Neto

  9. consegui fazer o dowloads só que ele esta corrompendo , nos arquivos de word aparece esta menssagem

    <br />

    <b>Warning</b>: filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for downloadsdownloads/Anexo.doc in <b>/home/horizont/public_html/area_cliente/download.php</b> on line <b>12</b><br />

    <br />

    <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/horizont/public_html/area_cliente/download.php:12) in <b>/home/horizont/public_html/area_cliente/download.php</b> on line <b>12</b><br />

    <br />

    <b>Warning</b>: readfile(downloadsdownloads/Anexo.doc) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: No such file or directory in <b>/home/horizont/public_html/area_cliente/download.php</b> on line <b>13</b><br />

    Bom amigão, é só para entender...

    Seus arquivos estão no banco de dados em um campo "BLOB" ou no seu banco de dados você tem um "VARCHAR" contendo um caminho no disco para o arquivo ?

    Pelas mensagens que você está recebendo, parece que você esta pegando uma string de um campo do banco de dados e lendo o arquivo em disco, porém o arquivo não está sendo encontrado.

    Para te ajudar é necessário saber exatamente o que você quer, ler um arquivo de um campo "BLOB" do banco de dados ou pegar um caminho de um campo "VARCHAR" e usar esse caminho para ler um arquivo em disco.

  10. ...Eu já consegui resgatar o arquivo para o php em variaveis...

    ok ! como eu pego o arquivo do banco de dados ?

    ????

    Se você já conseguiu resgatar o arquivo para uma variável no PHP, faça como o Norivan falou:

    Primeiro você deve definir qual é o formato do arquivo antes de regasta-lo, você pode fazer isso inserindo uma coluna no bd para definir o formato. Depois é só você muar o header de acordo com o MIME do seu arquivo e imprimir a o conteúdo logo abaixo

    header("Content-type: application/pdf");
    Logo após o header você dá um:
    echo $sua_variavel;

  11. ...será que se fosse problema de laço.. esse erro não seria contínuo?

    Kara, não necessariamente...

    Talvez uma condição específica esteja causando um loop infinito, porém, algumas vzs a comunicação entre aplicação e servidor esteja com problemas...

    Tenta colocar essas duas linhas antes do seu script que está com o problema:

    ini_set( "max_input_time" , 300 );
    ini_set( "max_execution_time" , 300 );

    Isso fará com que o tempo de execução passe para 5 minutos, ai você espera.....

    Se após os 5 minutos ainda não tiver tido uma resposta, então provavelmente é um problema no seu script.

    Se isso funcionar, então é um problema na comunicação entre aplicação e banco de dados.

    []'s

    J. Neto

  12. Ola pessoal,

    Hey kara...

    Ca�a e Pesca

    Ca�a e Pesca

    Ca�a e Pesca

    1. Tire fora o htmlentities de todos os lugares...

    2. Tente padronizar, ou tudo ISO8859-1 ou tudo UTF-8

    3. Se a 2 não for possível você deverá utilizar o utf8_decode( $string ) e o utf8_encode( $string )

    while ($dados=mysql_fetch_array($query)){
    //...
    $a=utf8_encode($dados['servico']);
    //...
    $nome=utf8_decode( $_GET['nome'] );
    
    $query=mysql_query("DELETE from detalhe where servico like '$nome'", $con);

    []'s

    João Neto

  13. Olá Pessoal,

    alguém tem idéia de como eu faço para quando o usuário ao se cadastrar em meu site o sistema crie uma pasta com seu nome(nick) e um arquivo index.php dentro dela, tipo o Twitter faz.

    Ficaria assim no final: http://www.meusite.com.br/nomedousuario

    Obrigado p/atenção!

    Hey kara,

    você não vai criar pastas no seu sistema nem colocar index.php dentro delas, imagina amanhã quando você tiver um número razoável de usuários, quantas pastas você terá !!!!

    Imagina também se você precisar migrar esse site para outro servidor, sem chance....

    A solução para o que você procura está no modRewrite do apache:

    1. Crie um arquivo chamado .htaccess

    2. Coloque esse arquivo no raiz do seu site

    3. Dentro do arquivo .htaccess você coloca:

    RewriteEngine on
    Options +FollowSymlinks
    
    RewriteRule ^([^/]+)(?:\/)(.*) index.php?usuario=$1&$2 [QSA]
    Pronto, agora você tem na sua raiz: index.php .htaccess No seu index.php você coloca:
    var_dump( $_REQUEST );
    E no seu navegador você digita: www.seudominio/Joao Neto/?teste=Uma mensagem qualquer&id=2 seu index.php deverá mostrar algo como:
    array
      'usuario' => string 'Joao Neto' (length=9)
      'teste' => string 'Uma mensagem qualquer' (length=16)
      'id' => string '2' (length=1)

    []'s

    J. Neto

×
×
  • Criar Novo...