LEITURA DE ARQUIVOS
Não consigo fazer comparação de String de um array formado por um arquivo.
Abaixo está o exemplo do que desejo fazer...
$nomedoarquivo = "pesquisa.html";
$fp = file($nomedoarquivo); // $fp é o array onde cada linha do arquivo corresponde a um índice dele
$linhas_arq = count($fp);
if ($fp[0] == "<novo>"){
echo $fp[0];
}
O curioso é q ao digitar echo $fp[0]; antes do IF, o que é impresso na tela é <novo>
Por que esta comparação não está funcionando? alguém sabe me dizer?
Abaixo está o exemplo do que desejo fazer...
$nomedoarquivo = "pesquisa.html";
$fp = file($nomedoarquivo); // $fp é o array onde cada linha do arquivo corresponde a um índice dele
$linhas_arq = count($fp);
if ($fp[0] == "<novo>"){
echo $fp[0];
}
O curioso é q ao digitar echo $fp[0]; antes do IF, o que é impresso na tela é <novo>
Por que esta comparação não está funcionando? alguém sabe me dizer?
comentários (0)
suspender
Lista de Respostas:
17/11/2003 3:38pm
(~21 anos atrás)
(~21 anos atrás)
Tente verificar se a linha do arquivo não contém, por exemplo, espaços no início ou final. Pode ser também que, dentro do arquivo, você tenha < e >, que são substituídos por <> na hora de enviar para o browser.
17/11/2003 4:31pm
(~21 anos atrás)
(~21 anos atrás)
bom, não sei até que ponto é interessante para você estar fazendo isso
mas antes da verificação você poderia fazer algo como
$nova_var = substr($str, 1 strlen($str)-1);
isso vai remover os dois < e > e dai você trabalha no seu if verificando só o conteúdo da tag.. e na hora de mostrar você trabalha normal.. mostra do jeito que achar melhor..
espero ter ajudado (que aliás deveria ser sempre o intuito dos posts :))
Abraços.
mas antes da verificação você poderia fazer algo como
$nova_var = substr($str, 1 strlen($str)-1);
isso vai remover os dois < e > e dai você trabalha no seu if verificando só o conteúdo da tag.. e na hora de mostrar você trabalha normal.. mostra do jeito que achar melhor..
espero ter ajudado (que aliás deveria ser sempre o intuito dos posts :))
Abraços.
17/11/2003 5:30pm
(~21 anos atrás)
(~21 anos atrás)
Não tenho certeza, mas será que não é porque existe um \n no final da linha, tente "<novo>\n"...
17/11/2003 8:58pm
(~21 anos atrás)
(~21 anos atrás)
Tente fazer usando o trim(), exatamente para livrar dos caracteres de quebra:
if (trim($fp[0]) == "<novo>") {
echo "novo... :P";
}
Se você der um strlen no $fp[0], notará que o valor não é 6, como deveria ser.
[z]
if (trim($fp[0]) == "<novo>") {
echo "novo... :P";
}
Se você der um strlen no $fp[0], notará que o valor não é 6, como deveria ser.
[z]