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)