Ir para conteúdo
Fórum Script Brasil
  • 0

Ler uma parte de 1 ficheiro


ighor10

Pergunta

Ola pessoal.

preciso de uma ajuda para ler um ficheiro com o php.

e o seguinte,

tenho um ficheiro de configuraçoes, e um ficheiro muito grande com muitas configuraçoes la dentro, cada uma em uma linha.. por exemplo :

-- Messaging

enableRuleViolationReports = "yes"

maxMessageBuffer = 4

-- MySQL

mysqlHost = "localhost"

mysqlUser = "root"

mysqlPass = "affffew"

mysqlDatabase = "teste"

mysqlPort = "3306"

a minha duvida e, se eu precisar por exemplo ler so o user, do mysql, como fazer??

porque eu não sei em q linha do ficheiro ele esta, pode estar tanto na primeira como na ultima linha do ficheiro.

eu teria q procurar no ficheiro onde esta o "mysqlUser" e buscar nessa linha o q esta depois do " = ".

porem não sei como fazer isso.

alguém pode ajudar??

obrigado.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Isso se faz com expressão regular...

Onde seré feita a localização:

<?php
$texto = file_get_contents('arquivo.php');
preg_match_all("#mysqlUser = \"(.*?)\";#s", $texto, $acha);
print_r($acha);
?>
"arquivo.php" (onde os dados da configuração estão guardado):
<?php
-- Messaging
enableRuleViolationReports = "yes";
maxMessageBuffer = 4;

-- MySQL
mysqlHost = "localhost";
mysqlUser = "root";
mysqlPass = "affffew";
mysqlDatabase = "teste";
mysqlPort = "3306";
?>

Todos os detalhes sobre expressões regulares: http://guia-er.sourceforge.net/

Link para o comentário
Compartilhar em outros sites

  • 0

O PHP também tem uma funçãozinha maneira para se fazer isso ... é a:

parse_ini_file: http://us2.php.net/manual/en/function.parse-ini-file.php

Ela consegue ler e retornar em arrays os sretores de um arquivo .ini ...

Vale ressaltar que dependendo do servidor essa função pode estar desabilitada ou impossibilitada de abrir arquivos ...

Editado por SK15
Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado Eserra pela atençao

SK15, era mesmo isso que eu precisava.

muito obrigado pela ajuda..

agora gostaria de saber como faço pra modificar o q esta la,

por exemplo,

para ler faço

$config=parse_ini_file("arquivo.ini");

echo $config["MysqlHost"];

e para modificar a configuraçao do MysqlHost?

obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

Ai já é outra história :P

Nesse caso você terá que trabalhar com as 'Funções de Sistema' como "fopen/fwrite/fread/fclose/etc" ... que você irá encontra a referência aqui:

http://us2.php.net/manual/en/ref.filesystem.php

E fazer as edições das linhas um a uma, o problema é como você disse que as linhas poder ser sem ordem, você terá que estar verificado linha por linha com ER, "IF's" ou afins para editar a linha correta, se fossem linhas fixas seria mais fácil :P

Como solução mais simples a seu problema existe essa classe (PHP 3) que ler e edita arquivos .ini =)

http://www.phpclasses.org/browse/package/204.html

... e para modificar a configuraçao do MysqlHost? ...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...