ighor10 Postado Setembro 19, 2009 Denunciar Share Postado Setembro 19, 2009 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Setembro 19, 2009 Denunciar Share Postado Setembro 19, 2009 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/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 SK15 Postado Setembro 19, 2009 Denunciar Share Postado Setembro 19, 2009 (editado) 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.phpEla 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 Setembro 19, 2009 por SK15 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ighor10 Postado Setembro 20, 2009 Autor Denunciar Share Postado Setembro 20, 2009 Obrigado Eserra pela atençaoSK15, 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 SK15 Postado Setembro 20, 2009 Denunciar Share Postado Setembro 20, 2009 Ai já é outra história :PNesse 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.phpE 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 :PComo 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? ... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ighor10
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
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.