Em php não estou a ver como fazer isso, mas podes sempre usar Flash ou JavaScript para fazer o "loading".
Exacto, mas como o coloco numa página php? Pode-m dar uma ajuda? o Preloading poder ser em javascript.
Cumps
arranjas o script em javascript e colocas-o dentro d página php desde que fique dentro das tags:
<script language="JavaScript" type="text/JavaScript">
preloading
</script>
e em alguns casos tem também de ser dentro das tags <head>..
Viva
A maneira que eu vejo de fazeres isso é teres uma página inicial só com javascript com uma biblioteca tipo jquery e utilizando o plugin (acho que é) thickbox, que coloca-te o tal gif de loading.
Fazes a chamada ao thickbox num layer com z acima e de preferência com um background semi-transparente e uma chamada ajax para ires buscar o conteúdo do php e no OnComplete da chamada ajax, escreves por baixo (do semi-transparente - fica bacano!) e depois tiras o div do loading e ficas com a página por baixo.
Atenção que certos elementos de formulários bem como flash não consegues fazer isto do transparente e tal pq não ligam ao z-index.
Boa sorte.
<SCRIPT language=VBScript>
<!--
Dim Bar, Line, SP
Bar = 0
Line = "|"
sP = 250
Function Window_onLoad()
Bar = 95
sP = 10
END Function
Function Count()
If Bar < 100 Then
Bar = Bar + 1
Window.Status = "A Carregar... " & Bar & "%" & " " & String(Bar, Line)
setTimeout "Count()", SP
Else
Window.Status = "Concluido"
Document.Body.Style.Display = ""
End If
End Function
Call Count()
-->
</SCRIPT>
<script type="text/javascript">
<!-- Só para não mostrar no IE a barra quando não a queres!
function hideLoading() {
document.getElementById('pageIsLoading').style.display = 'none'; // DOM3 (IE5, NS6) only
}
// Finito!-->
</script>
<!-- a barra começa aqui! -->
<div align="center" id="pageIsLoading" style=" position:absolute; height:100%; top:0;display:block; width:100%;background:none;padding:220px 0 10px 0;background: transparent;
background-color: #333333; z-index:10000; -moz-opacity:.8;opacity: .8; filter:alpha(opacity=80);">
<img src="carregar.gif" alt="A Carregar ..." />
</div>
<!--e acabou! -->
<script type="text/javascript">
if (window.addEventListener) {
window.addEventListener('load', hideLoading, false);
} else if (window.attachEvent) {
var r = window.attachEvent("onload", hideLoading);
} else {
hideLoading();
}
</script>
Ora boas,
Não sei se é isto que queres mas cá vai!
Dentro do <head>
Código:<script type="text/javascript"> <!-- Só para não mostrar no IE a barra quando não a queres! function hideLoading() { document.getElementById('pageIsLoading').style.display = 'none'; // DOM3 (IE5, NS6) only } // Finito!--> </script>
No inicio do body
Nota: podes adicionar o teu texto a seguir à tag de Imagem e não te esqueças de mudar o endereço caso mudes o nome &&/|| localização da imagem!Código:<!-- a barra começa aqui! --> <div align="center" id="pageIsLoading" style=" position:absolute; height:100%; top:0;display:block; width:100%;background:none;padding:220px 0 10px 0;background: transparent; background-color: #333333; z-index:10000; -moz-opacity:.8;opacity: .8; filter:alpha(opacity=80);"> <img src="carregar.gif" alt="A Carregar ..." /> </div> <!--e acabou! -->
Finalmente, antes mesmo de fechares o body:
Código:<script type="text/javascript"> if (window.addEventListener) { window.addEventListener('load', hideLoading, false); } else if (window.attachEvent) { var r = window.attachEvent("onload", hideLoading); } else { hideLoading(); } </script>
Deve funcionar, pode não ser a última maravilha do mundo até porque é um código bem simples mas serve!