Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
Tenho este método:
/**
* método show()
* Exibe a tag na tela
*/
public function show()
{
// verifica se este estilo já foi carregado
if (!self::$carregado[$this->nome])
{
// exibe a abertura do estilo
$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";
// marca o estilo como já carregado
parent::escreve($css);
self::$carregado[$this->nome] = TRUE;
}
}
>
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";
}
}complicado em , pq pra você fazer ferificação em u arquivo, você teria q abrir o arquivo pra edição e ordenar o conteudo em algum array.
mas tente usar o
$String = eregi_replace("[íÍïÏìÌîÎ]", "i", $String);
veja q acima agetne pega uma string procura os caracteres [íÍïÏìÌîÎ] e os substitiu por i
do mesmo modo você pode fazer uma rotina de if
assim
if (!eregi_replace("[íÍïÏìÌîÎ]", "i", $String) ){
// executa a adicção da nova class css
}else{
// nao executa nda oud a uma msg de que ja existe a class css
}
cara.. não faço idéia do que você quer fazer com isso mas.. se quer mexer com o CSS pq não usa só o JS, é mto mais fácil, além de poupar servidor
como assim criar novo estilo, quais criterios usaria? seja mais especifico.... pq dependendo ai tem q ser javascript com php nao vai dar, so lembrando o php executa no servidor e nao no cliente