Foros del Web » Programando para Internet » PHP »

Mi primer código no abre archivo txt

Estas en el tema de Mi primer código no abre archivo txt en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/05/2009, 14:09
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 17 años, 5 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.

  #2 (permalink)  
Antiguo 16/05/2009, 17:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Mi primer código no abre archivo txt

Puede ser la ruta, también al usuario bajo el que ejecutas IIS tiene que tener permisos de escritura en la carpeta de lo contrario por eso falla.

Saludos.
  #3 (permalink)  
Antiguo 19/05/2009, 16:16
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 17 años, 5 meses
Puntos: 361
Respuesta: Mi primer código no abre archivo txt

Hola:

El archivo está e: C:\inetpub\wwwroot\pruebasphp\datos y la ruta indicada en el código es $DOCUMENT_ROOT/../datos/pedidos.txt, siendo el valor de $DOCUMENT_ROOT el de c:\inetpub\wwwroot.

Y los permisos de esa carpeta están como usuario anónimo.

Sigo sin saber donde está el problema.

Saludos.



P.D.: Muchas gracias por la ayuda.
  #4 (permalink)  
Antiguo 19/05/2009, 16:47
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 11 años, 4 meses
Puntos: 32
Respuesta: Mi primer código no abre archivo txt

$DOCUMENT_ROOT/../datos/pedidos.txt, si no me equivoco ese signo pesos no deberias colocarlo intenta quitandolo
  #5 (permalink)  
Antiguo 19/05/2009, 20:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Mi primer código no abre archivo txt

Mejor usa una ruta absoluta e intentalo de nuevo.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:23.