PHP vers HTML ... copie automatique?

Résolu/Fermé
alexpc1 Messages postés 150 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 26 décembre 2009 - 23 janv. 2009 à 22:40
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 - 3 févr. 2009 à 17:53
Bonjour,
J'ai une page web php qui affiche un tableau.
J'ai enregistré le "résultat html" cette même page juste à côté, page sur laquelle je dirige mes liens, pour éviter un chargement long du tableau dû aux multiples connexions à la BDD.

J'aimerais faire en sorte que cette copie php>html se fasse automatiquement ou au moins par le biais d'une autre page, mais je ne sais pas comment faire çela.

Pouvez vous m'indiquer la direction à suivre svp?
merci d'avance
A voir également:

12 réponses

Bonjour

Avec les fonctions CURL tu peux interroger ta page php et récupérer le tout dans une variable avec l'option CURLOPT_RETURNTRANSFER
Tu n'as plus qu'à enregistrer le contenu de la variable dans un fichier.
voir :
https://www.php.net/manual/fr/function.curl-setopt.php
À vue de nez, tu devrais avoir besoin de curl_init, curl_setopt, curl_exec, curl_close
0
alexpc1 Messages postés 150 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 26 décembre 2009 6
24 janv. 2009 à 15:04
Bonjour.

Merci beaucoup, je sais que ça partait d'un bon sentiment mais je n'y comprends vraiment rien...
Y a-t'il une autre solution? Où un code qui me fait ça...

Je précise
j'ouvre tableau.php
le tableau s'affiche, et s'enregistre en tabelau.html just à côté. est-ce possible simplement?

merci d'avance
0
alexpc1 Messages postés 150 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 26 décembre 2009 6
27 janv. 2009 à 22:28
Let's UP! My post high in the skies !!!!!! ^^
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
27 janv. 2009 à 23:14
Yep,
Tu peux pas le faire directement lors de la génération du tableau ?
par exemple :
$raw=mysql_query("SELECT * FROM matable WHERE macondition");

file_put_contents('le_fichier.html', '<table>');

while($row=mysql_fetch_array($raw)) {
     file_put_contents('le_fichier.html', '<tr><td>'.$row['monchamps1'].'</td><td>'.$row['monchamps2'].'</td></tr>');
     }

file_put_contents('le_fichier.html', '</table>');
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
heu... non, le tableau est plutôt compliqué a afficher déjà...
couleurs, mise en forme, édition de cases...

donc impossible... je te pm l'adresse que tu voies...
0
alexpc1 Messages postés 150 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 26 décembre 2009 6
29 janv. 2009 à 21:36
(c'était moi)...
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
29 janv. 2009 à 22:08
Oui, c'est un tableau assez lourd. Bah de toute manière il faut bien que tu le génères ce tableau ...
Que tu fasses echo '<td>blablabla</td>' ou file_put_contents '<td>blablablabla</td>' je ne vois pas vraiment la différence ...
Utilise p-e des fonctions plus judicieuses et moins gourmandes que file_put_contents. En ouvrant le fichier et en ne le fermant qu'une seule fois., mais sinon ....
0
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 199
30 janv. 2009 à 01:29
Salut, pourquoi tu n'utiliserais pas un système de cache ?
http://www.siteduzero.com/tutoriel-3-31906-comprendre-et-utiliser-un-systeme-de-cache-php.html
Pour faire vite, quand un visiteur se connecte sur ton site, le serveur vérifie que la page demandé existe dans le cache, si elle existe et qu'elle n'est pas obsolète, il affiche la page du cache, sinon, il la régénère.
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
30 janv. 2009 à 13:25
Ha oui. Surtout ça éviterait d'avoir à recréer la page statique à chaque fois.

... et puis c'est fait pour ça :P
0
alexpc1 Messages postés 150 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 26 décembre 2009 6
30 janv. 2009 à 18:29
Hmm ça sonne vachement bien, je vous remercie, et j'essaierai dès que j'ai le temps...
Merci !!
0
alexpc1 Messages postés 150 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 26 décembre 2009 6
1 févr. 2009 à 18:10
Rebonjour!

Bon après une heure et un bon mal de tête... j'ai tapé exactement comme sur le sdz et il me sort:
Fatal error: Call to undefined function: file_put_contents() in /mnt/144/sda/1/a/**
***/tab.php on line 24
la ligne étant
file_put_contents('cache/index.html', $tampon) ;
J'ai bien rajouté la ligne
AddType x-mapp-php5 .php
au fichier nommé ".htaccess" dans le root de mon site, et j'obtient cette erreur que j'ai créé un fichier "cache/index.html" ou pas
Qu'ais-je fait de faux svp?

Merci d'avance
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
1 févr. 2009 à 18:54
file_put_contents n'existe qu'à partir de php5. Sinon il faut la définir :
<?php
  if(!function_exists('file_put_contents')) {
    function file_put_contents($filename, $data, $file_append = false) {
      $fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
        if(!$fp) {
          trigger_error('file_put_contents cannot write in file.', E_USER_ERROR);
          return;
        }
      fputs($fp, $data);
      fclose($fp);
    }
  }
?>
0
alexpc1 Messages postés 150 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 26 décembre 2009 6
2 févr. 2009 à 23:07
YESSSSS !!!!!!!!!!!!
J'ai même rajouté un include('tableau.php');
pour que je puisse également avoir accès au tableau en PHP, et que pour des modifications, je n'aie qu'une seule page à changer...

ÉNORME!!!!! Je vous remercie énormément Yoan et Zoby44 merci merci merci !!!!
Bonne soirée !
<?php
  if(!function_exists('file_put_contents')) {
    function file_put_contents($filename, $data, $file_append = false) {
      $fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
        if(!$fp) {
          trigger_error('file_put_contents cannot write in file.', E_USER_ERROR);
          return;
        }
      fputs($fp, $data);
      fclose($fp);
    }
  }

ob_start();
include ('tb.php');
$tampon=ob_get_contents();
file_put_contents('tb.html', $tampon);
ob_end_clean();
?>
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
3 févr. 2009 à 17:53
Et ben, si tout le monde pouvait remercier avec tant de passion ... ^^

See you on CCM !
0