Seguinte preciso de um esquema funcional em que seja possível abrir um arquivo .css de forma dinâmica. Dai achar o último estilo neste arquivo e acrescentar mais um, caso o estilo a ser acrescentado já exista o mesmo seja ignorado. Desde já agradeço a quem puder ajudar.
Preciso Abrir Arquivo Css Achar último Estilo
Started By sandro_candido, 05/06/2008, 11:29
3 replies to this topic
#1
Posted 05/06/2008, 11:29
#2
Posted 05/06/2008, 12:21
Procura por:
file_get_contents
A parte de substituir e fazer a verificação acredito que seja via ER's...
té +
file_get_contents
A parte de substituir e fazer a verificação acredito que seja via ER's...
té +
[]'s
#3
Posted 05/06/2008, 12:25
Você pode fazer o seguinte:
Leia o arquivo com a função file_get_contents
Procure o último caracter } utilizando a função strpos
Pegue o pedaço da string até a posição que se encontra o caracter }
Adicione à string o estilo que quer e depois adicione o caracter }
Grave o arquivo com file_put_contents
Leia o arquivo com a função file_get_contents
Procure o último caracter } utilizando a função strpos
Pegue o pedaço da string até a posição que se encontra o caracter }
Adicione à string o estilo que quer e depois adicione o caracter }
Grave o arquivo com file_put_contents
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.
#4
Posted 05/06/2008, 12:56
Tenho este método:
/**
* método show()
*/
public function show()
{
$arquivo = SISTEMA_DIR_RAIZ."templates/admin/visual/ACadastraNews.css";
parent::__construct($arquivo);
$css = "\n.{$this->nome}\n";
$css .= "{\n";
if ($this->propriedades)
{
// percorre as propriedades
foreach ($this->propriedades as $nome=>$valor)
{
$css .= "\t {$nome}: {$valor};\n";
}
}
$css .= "}\n";
parent::escreve($css);
}
}Ele já está acrescentando o estilo, porém, se eu carregar a mesma página novamente ele acrescenta o estilo mais um vez no arquivo, ou seja o estilo fica duplicado.
Obs: método Escreve aqui:
public function escreve($conteudo) {
// Tendo certeza que o arquivo existe e que há permissão de escrita primeiro.
if (is_writable($this->arquivo)) {
// Abre $this->arquivo em modo de append (acréscimo).
// O ponteiro do arquivo estará no final dele desde
// que será aqui que $conteudo será escrito com fwrite().
if (!$handle = fopen($this->arquivo, "a")) {
print "Erro abrindo arquivo ($this->arquivo)";
exit;
}
// Escrevendo $conteudo para o arquivo aberto.
if (!fwrite($handle, $conteudo)) {
print "Erro escrevendo no arquivo ($this->arquivo)";
exit;
}
fclose($handle);
}else{
print "Erro arquivo ($this->arquivo) não tem permissão de escrita";
}
}
Edição feita por: sandro_candido, 05/06/2008, 13:00.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)










