Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Beraldo

Código PHP gerando arquivo .js

Recommended Posts

Tenho um diretório com códgos javascript (todos com extensão .js). Gostaria de montar um código PHP que pegasse o conteúdo de todos esses arquivos, para que eu não precise chamar a linha <script (...) src="arquivo1.js> várias vezes.

 

A estrutura do diretório é esta:

/js/func1.js

/js/func2.js

js.php

teste.php

Os arquivos func1.js e func2.js:

 

func1.js:

function Func1(){
	document.write ("Esta é a função 01 \n");
}

func2.js:

function Func2(){
	document.write ("Esta é a função 02 \n");
}

 

Para ler o dietório js e incluir o conteúdo dos arquivos, uso o arquivo js.php:

<?php
header('Content-type: application/js');
header('Content-Disposition: attachment; filename="js.js"');
$dir = "js/";
$open = opendir ($dir);
while (($file = readdir ($open)) !== false){
	if ($file == "." || $file == "..")
	  continue;
	$x = file($dir.$file);
	foreach ($x as $val)
	  echo $val."<br />";
	unset ($x);
}
closedir ($open);
?>

Se eu retirar os dois headers() e executar esse script, os códigos aparecem corretamente. Mas para que seja intepretado como JS, precisa-se desses dois headers, né?

 

Para incluir o arquivo JS "disfarçado", tentei este código:

teste.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="js.php"></script>
<script type="text/javascript">
setTimeout (Func1, 3000);
setTimeout (Func2, 3000);
</script>
<title>Teste</title>
</head>
<body>

</body>
</html>

Mas não deu certo. :(

 

Deve ser possível fazer isso, mas não sei como...

Alguém sabe?

 

 

Valeu

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que é necessário somente um header, pra definir o mime-type como se fosse um arquivo java script:

 

header('Content-type: text/javascript');

 

Aquele outro header que indica o "content-disposition" não é necessário nesse caso.

 

[]'s!

 

 

PS: note que o "Content-Type" é igual ao valor do atributo "type" da tag <script>. Se você quisesse gerar um CSS dinamicamente pelo PHP, adivinha qual seria o "Content-Type"... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu, Illidan!! Funcionou perfeitamente!

 

 

PS: note que o "Content-Type" é igual ao valor do atributo "type" da tag <script>. Se você quisesse gerar um CSS dinamicamente pelo PHP, adivinha qual seria o "Content-Type"... :)

..hhuumm.. deixe-me ver... difícil essa....

Ah, text/css!!! :) http://forum.imasters.com.br/public/style_emoticons/default/natal_laugh.gif

 

Valeu

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.