Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2009, 13:09
Avatar de jomaruro
jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 21 años, 10 meses
Puntos: 361
Mi primer código no abre archivo txt

Hola:

Acabo de instalar PHP en IIS y estoy haciendo las primeras pruebas con la programación con los ejemplos de un libro que estoy leyendo y, logícamente, surgió el primer problema.

El código que pongo a continuación funciona sin dar ningún tipo de error pero no graba el fichero, me envía por pantalla el mensaje del la if que detecta que no se ha abierto el fichero:

Su pedido no puede ser procesado en este momento. Por favor, intentelo de nuevo más tarde.


Código:
<?php
	// cree nombres de variable cortos
	$tireqty = $_POST['tireqty'];
	$oilqty = $_POST['oilqty'];
	$sparkqty = $_POST['sparkqty'];
	$address = $_POST['address'];
	
	$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>
            Processorder PHP
        </title>
    </head> 

    <body>
        <h1>Recambios Bob</h1>
        <h2>Pedidos</h2>
	<?php
		echo '<P>Pedido procesado el :';
		echo date('H:i, jS F');
		echo '</p>';
		echo '<p> Su pedido es el siguiente : </p>';
			
		$totalqty = 0;
		$totalqty = $tireqty + $oilqty + $sparkqty;
		echo 'Artículos pedidos : '.$totalqty.'<br /><br />';

		if( $totalqty == 0 )
		{
			echo 'No ha pedido nada en la página anterior!<br />';
		}
		  else
		{
			if ( $tireqty>0 )
				echo $tireqty.' neumáticos<br />';
			if ( $oilqty>0 )
				echo $oilqty.' botellas de aceite<br />';
			if ( $sparkqty>0 )
				echo $sparkqty.' bujías<br />';
		}

		$totalamount = 0.00;
		define('TIREPRICE', 100);
		define('OILPRICE', 10);
		define('SPARKPRICE', 4);
			
		$totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKQTY;
			
		$totalamount=number_format($totalamount, 2, '.', ' ');
		
		echo '<p>El total del pedido es : '.$totalamount.'</p>';
		echo '<p>Dirección del envío : '.$address.'</p>';

		$outputstring = $date."\t".$tireqty." neumáticos \t".$oilqty." aceite\t".$sparkqty." bujías\t\$".totalamount."\t". $address. "\n";

		// abra el archivo para adjunción


		@ $fp = fopen("$DOCUMENT_ROOT/../datos/pedidos.txt", 'ab');
		if (!$fp)
		{
			echo'<p><strong> Su pedido no puede ser procesado en este momento. '. 'Por favor, intentelo de nuevo más tarde.</strong></p></body></html>';
		 	exit;
		}
		
		fwrite($fp, $outputstring, strlen($outputstring));
		fclose($fp);
		
		echo '<p>Pedido grabado.</p>';
        ?>
    </body>
</html>
La duda que tengo es donde está el error ¿en la configuración del PHP? ¿en los permisos del IIS?

Saludos.