Comunidad de diseño web y desarrollo en internet online

Precarga de xml en php

Citar            
MensajeEscrito el 19 Mar 2010 04:49 pm
Hola estimados
La verdad no se donde poner este tema pero me parecio que aca en php ya que de eso se trata...

Haber resulta que tengo un script en php que me carga archivos XML la intencion es cargar feeds...
Pero quiero ver si se puede hacer una especie de precarga de esos xml ya que la web no abre hasta que recoge todos los feeds...

Osea lo que quiero es que la pagina abra pero cuando abra que aparezca cargando feeds o algo asi ...
Ej: http://www.cristalab.com/files/ejemplos/rssReaderAjax/

No se si me explico
Haber les dejo el codigo del script y la web para que vean a que me refiero.
Chileinforma.co.cc


A TODO lo que aparece en el centro de la pagina son feeds cargados!
aca el codigo que quiero hacer que precargue

Código PHP :

<?php
function ShowOneRSS($url) {
$rss = new lastRSS;
$rss->cp = 'ISO-8859-1';  // Definimos la códificación de nuestro sitio web.
$rss->items_limit = 4; // Definimos el número de titulos a desplegar.
$rss->stripHTML = True; // Eliminamos el HTML del RSS
$rss->CDATA = 'strip'; // Eliminamos la información CDATA
    if ($rs = $rss->get($url)) {
        echo "<big><b><a href=\"$rs[link]\">$rs[title]</a></b></big><br />\n";
        echo "$rs[description]<br />\n";

            echo "<ul>\n";
            foreach ($rs['items'] as $item) {
                echo "\t<li><a href=\"$item[link]\"><br><br>".$item['title']."</a><br>".$item['description']."<br></li>\n";
            }
            if ($rs['items_count'] <= 0) { echo "<li>Lo sentimos, no hemos encontrado Rss para este Feed :-(</li>"; }
            echo "</ul>\n";
    }
    else {
        echo "Sorry: It's not possible to reach RSS file $url\n<br />";
        // you will probably hide this message in a live version
    }
}

// ===============================================================================

// incluir lastRSS
include "./lastRSS.php";

// Lista de RSS

$rss_left = array(
    'http://teletrece.canal13.cl/t13/html/Itplqrss_chile_tpl.html',
    'http://www.cooperativa.cl/prontus_nots/site/tax/rss/all/6_0_0.xml'
);
$rss_right = array(
    'http://www.lanacion.cl/noticias/site/tax/port/all/rss____1.xml',
    'http://rss.emol.com/rss.asp'
);

// Create lastRSS object
$rss = new lastRSS;

// Set cache dir and cache time limit (5 seconds)
// (don't forget to chmod cahce dir to 777 to allow writing)
$rss->cache_dir = './temp';
$rss->cache_time = 1200;


// Show all rss files
echo "<table cellpadding=\"10\" border=\"0\"><tr><td width=\"50%\" valign=\"top\">";
foreach ($rss_left as $url) {
    ShowOneRSS($url);
}
echo "</td><td width=\"50%\" valign=\"top\">";
foreach ($rss_right as $url) {
    ShowOneRSS($url);
}
echo "</td></tr></table>";
?>

Por kenolais

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Abr 2010 08:47 pm
bueno no se puede lo puedes tratar usar utilziando algo de AJAX ya que muchso Servidores no permiten hacer un flush() la funcion de php que permite que el buffer sea descargado al navegador web un ejemplo seria

Código PHP :

<?php
echo "Cargando la pagina";
flush();//mostrara todo lo que se tenia q mostrar al navegador
sleep(15);// funcion que logra que el script tarde 15 segundos
echo "Termino de Cargar";
?>

mas claro no puedo ser pero yo te aconsejaria que utilizes javascript o como dicen AJAX

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Abr 2010 01:38 am
Como te han dicho antes, es mejor no utilizar flush(), porque aunque ahora te funcione, si actualizan el servidor o si te mudas a otro alomejor deja de funcionar.
Lo mejor es que uses ajax.
Simplemente tienes que hacer una función que muestre "CARGANDO..." y que cuando acabe de cargar quitas eso y muestras lo que has cargado.

Por javi-freelance

3 de clabLevel



 

Valencia y Castellón

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.