Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/03/2005, 14:21
Avatar de tralara
tralara
 
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
bueno he hecho algunas modificaciones y ahora ya me escribe los html con el nombre del id que le llega por el url, pero no hay forma de que me lea la variable $DIR, he probado lo que dices Cluster y tampoco , entonces da el error inicial del post, solo funciona poniendo el directorio directamente en el fopen.

Ademas vereis que para que funcionara he tenido que meter la variable $id dentro de la funcion cache_guardar pq sino no llegaba la variable al fopen, eso debe ser desconocimiento mio pero estaria bien una aclaracion.

Y por ultimo la variable $html no la lee ni de coña, es la que deberia escribir en el fichero, ahora esta puesto manual para ver si escribia o no, pero iria en el fwrite.

Os pongo como esta ahora:

Archivo cacheador
Código PHP:
<?php

  $TIEMPO 
86400;

  
$dire "/html";  

  function 
cache_abrir() {
    global 
$TIEMPO,$dire;

    if(
file_exists($dire.'/'.$id.'.html') &&
       
time()-filemtime($dire.'/'.$id.'.html')<$TIEMPO)    {

      include(
$dire.'/'.$id.'.html');

      exit();
    }

ob_start();
  }
  
  function 
cache_guardar() {

global 
$html;

$id $_GET['articuloID'];

    
$html ob_get_contents();
    
    
ob_end_clean();

    
$file fopen("html/".$id.'.html','w') or die("Error al intentar crear fichero.");

    
fwrite($file,$id) or die ("Imposible escribir en el fichero");

    
fclose($file);
  }

?>
Archivo lanzador:
Código PHP:
<?php require_once('conexion'); ?>
<?php 
include('caching.php');?>
<?php
cache_abrir
();
ob_start();
$colname_Recordset1 "0";
if (isset(
$HTTP_GET_VARS['articuloID'])) {
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['articuloID'] : addslashes($HTTP_GET_VARS['articuloID']);
}
mysql_select_db($database_libros$libros);
$query_Recordset1 sprintf("SELECT * FROM articulos WHERE articulos.articuloID = %s"$colname_Recordset1);
$Recordset1 mysql_query($query_Recordset1$libros) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);
$html ob_get_contents();
ob_end_clean();
cache_guardar($html);
echo 
$html;
?>
Bueno saludos