PRATIQUE PHP 
Utiliser file_put_contents() dans un script PHP4
 
"Quel est l'équivalent PHP4 de la fonction PHP5 file_put_contents() ?" (15/03/2005)
La fonction file_put_contents() est une nouveauté de PHP5 (sa soeur file_get_contents() existe elle depuis PHP 4.3.0). Respectivement, ces deux fonctions servent à écrire une chaîne dans un fichier, et à placer le contenu d'un fichier dans une chaîne. Néanmoins, PHP4 reste la version du langage la plus utilisée, et il est parfois nécessaire de redéfinir file_put_contents() pour pouvoir tirer parti des scripts écrits pour PHP5.

  Forum

Réagissez dans les forums de JDN Développeurs

file_put_contents() combine en une seule fonction les actions des fonctions fopen(), fwrite() et fclose(). Pour qu'un script PHP4 qui l'utilise fonctionne, il faudra ajouter un test (pour s'assurer que PHP ne reconnaît pas cette fonction), et une fonction de remplacement. Voici le code généralement utilisé dans ce cas :

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 ne peut pas écrire dans le fichier.', E_USER_ERROR);
   return;
  }
  fputs($fp, $data);
  fclose($fp);
 }
}


Autre solution : utiliser le paquetage PEAR PHP_Compat, qui permet d'utiliser des fonctions indisponibles dans certaines versions de PHP, dont file_put_contents().
 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page