Rechercher : dans
Par :

PHP vers HTML ... copie automatique?

Dernière réponse le 4 fév 2009 à 20:57:51 alexpc1, le 23 jan 2009 à 22:40:32 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « PHP vers HTML ... copie automatique? » dans :
[Webmaster] Afficher facilement le code php/xhtml de vos pages VoirSi vous voulez proposer a vos visiteurs de voir la source de vos fichiers (PHP ou HTML), il y a plusieurs solutions. En php Afficher le code php Afficher le code html En html Informations Voir aussi En php Afficher le code php La...
Implantation du code Php VoirL'interprétation du code par le serveur Un script PHP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

toto, le 23 jan 2009 à 23:05:25

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 :
http://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

Répondre à toto

2

alexpc1, le 24 jan 2009 à 15:04:46

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

Répondre à alexpc1

3

alexpc1, le 27 jan 2009 à 22:28:26

Let's UP! My post high in the skies !!!!!! ^^

Répondre à alexpc1

4

Yoan, le 27 jan 2009 à 23:14:21

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>');
L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

5

camusensei, le 29 jan 2009 à 21:35:10

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...

Répondre à camusensei

6

alexpc1, le 29 jan 2009 à 21:36:13

(c'était moi)...

Répondre à alexpc1

7

Yoan, le 29 jan 2009 à 22:08:41

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 .... L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

8

zoby44, le 30 jan 2009 à 01:29:22

Salut, pourquoi tu n'utiliserais pas un système de cache ?
http://www.siteduzero.com/...
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. Il est souvent plus rapide de chercher que d'attendre une ré­ponse... Google est notre ami.

Répondre à zoby44

9

Yoan, le 30 jan 2009 à 13:25:05

Ha oui. Surtout ça éviterait d'avoir à recréer la page statique à chaque fois.

... et puis c'est fait pour ça :P L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

10

alexpc1, le 30 jan 2009 à 18:29:44

Hmm ça sonne vachement bien, je vous remercie, et j'essaierai dès que j'ai le temps...
Merci !!

Répondre à alexpc1

12

alexpc1, le 1 fév 2009 à 18:10:44

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

Répondre à alexpc1

13

Yoan, le 1 fév 2009 à 18:54:07

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);
    }
  }
?>
L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

14

alexpc1, le 2 fév 2009 à 23:07:42

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();
?>

Répondre à alexpc1

15

 Yoan, le 3 fév 2009 à 17:53:53

Et ben, si tout le monde pouvait remercier avec tant de passion ... ^^

See you on CCM ! L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan