Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

isor

abertura de arquivo

Recommended Posts

Olá, estou tentando aprender php e para isso estou usando o livro PHP e MySQL. No segundo capítulo que fala de abertura de arquivos, eu não consegui fazer o exemplo do livro funcionar. Abaixo segue o código:

 

<?php
	//Cria nome de variável abreviados
	$pneusqty = $_POST['pneusqty'];
	$oleoqty = $_POST['oleoqty'];
	$velaqty = $_POST['velaqty'];
	$enderecoqty = $_POST['enderecoqty'];

	$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
	?>

<html>
<head>
<title>Bob's Auto Peças - Resultados</title>
</head>

<body>

<h1> Bob's Auto Peças</h1>

<h2> Resultados Finais</h2>

<?php 

$date = date (' H:i, jS F');

	echo '<p> Processamento final em';
	echo $date;
	echo '</p>';



	echo '<p> Seu pedido foi: </p>';

	$totalqty = 0;
	$totalqty = $pneusqty + $oleoqty + $velaqty;
	echo 'Total de itens: '.$totalqty.'<br/>';

	if ($totalqty == 0){
		echo 'Você não pediu nada na página anterior! <br/>';
	}else{
		if ($pneusqty > 0)
			echo pneusqty. 'peneus<br/>';
		if ($oleoqty > 0)
			echo $oleoqty. ' óleo <br/>';
		if ($velaqty > 0)
			echo $velaqty. ' vela de ignição <br/>';
	}


	$totalamount = 0.00;


	define ('PNEUSPRICE', 100);
	define ('OLEOPRICE', 10);
	define ('VELAPRICE', 4);

	$totalamount = $pneusqty * PNEUSPRICE
				+ $oleoqty * OLEOPRICE
				+ $velaqty * VELAPRICE;

	$totalamount = number_format ( $totalamount, 2, '.', ' ');

	echo '<p> Total do pedido'.$totalamount. '</p>';
	echo '<p> Endereço para enviar'. $enderecoqty. '</p>';

	$outputstring = $date. "\t". $pneusqty. "pneus \t" . $oleoqty. "óleo\t" . $velaqty. "vela de ignição.\t$" . $totalamount . "\t". $enderecoqty. "\n";


//Abre o arquivo para anexar
//fopen ("DOCUMENT_ROOT/../orders/orders.txt", 'ab');
fopen ("C:\apache\htdocs\orders.txt", 'ab');
if (!$fp){
echo '<p><strong> Seu pedido não pode ser processado neste momento.';
. ' Tente novamente mais tarde. </strong> </p></body></html>';
exit;
}

fwrite ($fp, $outputstring, strlen ($outputstring));
fclose ($fp);

echo '<p> Ordem escrita. </p>';
?>
</body>
</html>





?>
</body>
</html>

 

 

 

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>


<form action="processorder.php" method="post">
<table border=0>
<tr bgcolor=#cccccc>
<td width=150>Item</td>
<td width=15>Quantidade</td>
</tr>
<tr>
<td>Pneus </td>
<td align="center"><input type="text" name="pneusqty" size="3" maxlength="3" /></td>
</tr>
<tr>
<td>Óleo</td>
<td align="center"><input type="text" name="oleoqty" size="3" maxlength="3" /></td>
</tr>
<tr>
<td>Vela de ignição</td>
<td align="center"><input type="text" name="velaqty" size="3" maxlength="3" /></td>
</tr>
<tr>
<td> Endereço</td>
<td align = "center"><input type = "text" name= "enderecoqty" size = "3" maxlength="3" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Enviar pedido" /></td>
</tr>


</table>
</form>





</body>
</html>

 

<?php

//Cria nome de varíavel abreviado
$DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];

?>

<html>
<head>
<title> Bob's Auto Peças - Pedidos </title>
</head>

<body>
<h1> Bob's Auto peças </h1>
<h2> Pedidos </h2>

<?php

@ $fp = fopen ("DOCUMENT_ROOT/../orders/orders.txt", 'r');

if (!$fp){
echo '<p> <strong> Sem ordens pendentes.'
	.'Tente novamente mais tarde.</strong></p>';
exit;
}

while (!feof ($fp)){
$order = fgets ($fp, 999);
echo $order. '<br/>';
}

fclose ($fp);

?>

</body>
</html>

 

 

 

 

 

Aparece este erro quando tento executar:

 

Parse error: parse error in c:\apache\htdocs\processorder.php on line 74

 

Acho que o problema está no caminho do arquivo, porém não consegui detectar o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites
$fp = fopen('C:\apache\htdocs\orders.txt', 'w');
if (!$fp){
       echo "<p><strong> Seu pedido não pode ser processado neste momento \n Tente novamente mais tarde. </strong> </p>";
       exit;
}

fwrite ($fp, $outputstring);
fclose ($fp);

echo '<p> Ordem escrita. </p>';

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.