neto.joaobatista
-
Total de itens
116 -
Registro em
-
Última visita
Posts postados por neto.joaobatista
-
-
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
-
$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
-
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
-
Ele está em fase beta e nesta fase somente usuários experientes devem ajudar.
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
-
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
-
<?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); ?>
Bom, primeiro vamos entender algumas coisas: 1.o que será que esta acontecendo ?$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
-
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
-
OBrigado
:D
-
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.
-
...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:
Logo após o header você dá um: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 abaixoheader("Content-type: application/pdf");
echo $sua_variavel;
-
...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
-
Ola pessoal,
Hey kara...
Ca�a e PescaCa�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
-
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
busca destacada (highlight search)
em PHP
Postado
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:
para que você faça a expressão não ser sensível a caixa basta colocar um i depois da barra final:Abraços...