attente du chargement du fichier xml

Eléphanteau du PHP | 24 Messages

23 juin 2014, 11:21

Bonjour à tous !

Je génère un fichier xml avec un code php. Tout fonctionne, seulement je souhaiterai que mon fichier xml soit chargé complètement avant d'afficher la page.
Comment je dois faire ?? J'ai regardé sur internet , mais je n'ai pas réussi à faire fonctionner ce que j'avais trouvé

Une idée ? merci :)

Eléphant du PHP | 422 Messages

23 juin 2014, 11:50

hello

par défaut l'affichage se fait une fois toutes les données chargées ...

explique plus ce qu'il se passe et ce que tu veux

sans code / sans erreur on va pas loin

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphanteau du PHP | 24 Messages

23 juin 2014, 11:56

Bonjour Telnes ,

Voici mon code, qui fonctionne
$fichier = 'http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects?$filter=ListingCOMMUNE eq\'heches\'';

$dom = new DOMDocument('utf-8');
if (!$dom->load($fichier))
{
    die('Impossible de charger le fichier XML');
}

$recupproperties = $dom->getElementsByTagName('properties');
foreach ($recupproperties as $properties)
               
{
    //Cherche les éléments ListingCOMMUNE  
    $nom = $properties->getElementsByTagName('ListingCOMMUNE');
$nom1 = $nom->item(0)->nodeValue;
 echo $nom1; 
}
On m'a demandé justement de rajouter une fonction qui permettrait d'afficher la page une fois que le xml serait complètement charger, au cas où le xml serait trop lourd... Mais comme tu le dis, l'affichage ici se fait une fois que toute les données sont chargées... Mais au cas où, il faudrait rajouter une fonction qui permet d'afficher le contenu lorsque le xml est chargé
Modifié en dernier par anaval le 23 juin 2014, 14:41, modifié 1 fois.

Eléphant du PHP | 422 Messages

23 juin 2014, 12:13

hello

le seul risque c'est que si le fichier est trop lourd tu récupère une erreur de timout (30 sec par defaut)

il suffit donc d'ajouter

set_time_limit(0); //au début du code pour éviter le problème

http://php.net/manual/fr/function.set-time-limit.php
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

ViPHP
xTG
ViPHP | 7331 Messages

23 juin 2014, 13:16

Et sinon pour charger le fichier de façon asynchrone PHP ne suffit plus.
Il faut utiliser du javascript au travers de la technologie AJAX.

Eléphanteau du PHP | 24 Messages

23 juin 2014, 14:13

Merci pour vos réponses, et vos explications.

Petite question, on m'a conseillé également d'utiliser un buffer de sortie en php ... tel que ob_start() etc
quand pensez vous ?

ViPHP
xTG
ViPHP | 7331 Messages

23 juin 2014, 18:21

Cela ne répondra pas à ta problématique.