Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro com a função fopen


Paulo Alberto

Pergunta

Bomm.. estou seguindo o livro PHP e MYSQL Desenvolvimento web e vendo um exemplo dado pelo livro aparece o seguinte erro "Warning: fopen(DOCUMENT_ROOT/../orders/orders.txt) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files (x86)\EasyPHP-5.3.6.0\www\.. online 69

bom.. no livro explica esse erro de forma confusa. Gostaria de saber se alguém poderia me ajudar a corrigir o erro e explicar como funciona.

segue o codigo abaixo:


<html>
<head><title>Bob's Auto Parts</title></head>

<body>
<form action="process.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="left"><input type="text" name="pneusqnt" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Óleo</td>
<td align="left"><input type="text" name="oleoqnt" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Plugs</td>
<td align="left"><input type="text" name="plugsqnt" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Address</td>
<td align="center"><input type="text" name="address" size="50" maxlength="150"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Mandar Ordem"></td>
</tr>
<tr>
<td>Como você achou o Bob's</td>
<td><select name="find">
<option value="a">Regular consumidor
<option value="b">TV
<option value="c">Fone
<option value="d">Blablabla
</select>
</td>
</tr>
</table>
</form>
</body>
</html>


//ARQUIVO PROCESS.PHP abaixo



<?php
$pneusqnt = $_POST['pneusqnt'];
$oleoqnt = $_POST['oleoqnt'];
$plugsqnt = $_POST['plugsqnt'];
$find = $_POST['find'];
$address = $_POST['address'];

$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];

?>
<html>
<head>
<title>Bob's Auto Parts Resultados</title>
</head>

<body>
<h1>Bob's Auto Parts</h1>
<h2>Ordem de Resultados</h2>
<?php
$date = date('H:i, jS F');
//escreve na tela as info processadas e hora/data

echo "<p>Suas ordens foram:";
echo $date;
echo "</p>";

echo "$pneusqnt Pneus <br />";
echo "$oleoqnt Óleo <br />";
echo "$plugsqnt Plugs <br />";

$totalqnt = 0;
$totalqnt = $pneusqnt + $plugsqnt + $oleoqnt;
echo "Total da ordem dos itens: $totalqnt";

if ($totalqnt==0) {
echo "<font color=red>";
echo "Você não colocou nada na página anterior!<br />";
echo "</font>";
}
else
{
if($pneusqnt>0)
echo "$pneusqnt Pneus<br />";
if($oleoqnt>0)
echo "$oleoqnt Óleo<br />";
if($plugsqnt>0)
echo"$plugsqnt Plugs</br />";
}

$totalamount = 0.00;

define('PNEUSPRECO', 100);
define('OLEOPRECO', 10);
define('PLUGSPRECO', 4);

$totalamount = $pneusqnt * PNEUSPRECO
+ $oleoqnt * OLEOPRECO
+ $plugsqnt * PLUGSPRECO;

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

echo "<p>Total das ordens foi: $totalamount</p>";
echo "<p>Endereço a ser enviado: $address</p>";

$outputstrings = $date."\t".$pneusqnt."Pneus \t".$oleoqnt."Oleo \t".$plugsqnt."Plugs\t\$".
$totalamount."\t".$address."\n";

//abre o arquivo para anexar
fp = fopen ("DOCUMENT_ROOT/../orders.txt",'ab');

if (!$fp)
{
echo "<p><strong>Suas ordens não puderam ser processas. Por favor tente mais tarde
</strong></p></body></html>";
exit;
}

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

echo "<p>Escreva as ordens</p>";
?>
</body>

</html>

[/codebox]

valeu ai gente. Abç

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...