Tuesday 29 March 2011

Error: Call to undefined function: file_put_contents()

Si tu navegador te muestra ese error es que probablemente tienes una versión obsoleta de PHP instalada en tu servidor. Porque la función file_put_contents() apareció a partir de PHP5. Puedes verlo en la doc. oficial de la misma:

http://php.net/manual/en/function.file-put-contents.php

Tienes 2 soluciones:

  • actualizar tu servidor... lo cuál es más que recomendable, porque cada vez irás teniendo más problemas de este tipo si no lo haces, a parte que es muy pero que muy recomendable por seguridad! a día de hoy (Marzo de 2011) está por salir PHP6 pronto...

  • construirte una función a medida que haga lo mismo que se supone que hace file_put_contents().



Voy a ayudarte a ello, porque es bien simple: básicamente intenta escribir en un archivo (existente o no) un contenido tipo string.

1  <?php 
2  
3  
function file_put_contents($path_file,$content){
4            
// intentamos cambiar los permisos del archivo 
5            
@chmod($path_file,0755);
6            
// abrimos el archivo en modo escritura al inicio
7            
$fp fopen($path_file,"w"); 
8            
// escribimos
9            
fwrite($fp$content);
10            
// cerramos  
11            
fclose($fp); 
12  }
13  
14  
?>       


Espero que te haya sido útil. Recuerda solamente que una vez que cambies a PHP 5 tendrás que eliminar esta función, si no lo haces te dará error.

Saludos!
SERGI