Ir para conteúdo

Arquivado

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

netocazuza

gravar arquivo txt

Recommended Posts

Estou estudando um sistema php que salva o resultado do processamento num arquivo txt. Estava tudo funcionando até eu implantar a parte do gravar o arquivo txt  (orders.txt) numa pasta do meu servidor. Agora aparece o http error 500 e não salva nada. Gostaria que alguém desse uma olhada no arquivo pra ver se encontra o erro. Estou executando o arquivo num navegador google chrome no windows 7, e os asquivos do php estão num servidor linux ubuntu (12.04). Tava funcionando tudo certinho quando eu exibia o resultado na tela apenas. Depois que implementei a rotina de salvar no arquivo txt, que passou a abrir esse erro 500. Vejam o código original:

    <html>
<head>
        <title>Bob's auto Parts - Order Results</title>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<?php
// cria nomes de variaveis abreviados
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
$address = $_POST['address'];
$DOCUMENT_ROOT = $_SERVER_VARS['DOCUMENT_ROOT'];
?>
<?php
echo '<p>Pedido processado.</p>';

$date =  date('H:i, jS F');
echo $date;
?>
<h2>Resultado pedido</h2>
<?php
echo '<p>A sua encomenda é a seguinte: </p>';

$totalqty = 0;
$totalqty = $tireqty + $oilqty + $sparkqty;
if($totalqty == 0)
        {
        echo '<font color=red size=5>';
        echo 'Você não selecionou nenhum item na página anterior!<br />';
        echo '</font>';
        }
else
{
        if ($tireqty>0)
                echo $tireqty.' pneus<br />';
        if ($oilqty>0)
                echo $oilqty.' litros de óleo<br />';
        if ($sparkqty>0)
                echo $sparkqty.' velas de ignição<br />';
}
if($tireqty<10)
        $discount = 0;
elseif($tireqty >= 10 && $tireqty <= 49)
        $discount = 5;
elseif($tireqty >= 50 && $tireqty <= 99)
        $discount = 10;
elseif($tireqty >= 100)
        $discount = 15;
echo 'Total de itens pedido: '.$totalqty.'<br />';
$totalamount = 0.00;
define('TIREPRICE', 100 - $discount);
define('OILPRICE', 10);
define('SPARKPRICE',4);
$totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;
echo 'Subtotal: R$'.number_format($totalamount,2).'<br />';
$taxrate = 0.10; // o imposto de vendas local é 10%
$totalamount = $totalamount * (1 + $taxrate);
echo 'Total incluindo impostos: $'.number_format($totalamount,2).'<br />';
echo 'Entregar em: '.$address. '<br />';
switch($find)
{
        case 'a' :
                echo '<p>Cliente Regular.</p>';
                break;
        case 'b' :
                echo '<p>Cliente Obtido por propaganda de TV.</p>';
                break;
        case 'c' :
                echo '<p>Cliente Lista Telefônica.</p>';
                break;
        case 'd' :
                echo '<p>Cliente Boca a Boca.</p>';
                break;
        default :
                echo '<p>Não sabemos como o Cliente nos encontrou.</p>';
                break;
}
$outputstring = $date."\t".$tireqty." pneus \t".$oilqty." Óleo\t"
                $sparkqty." Velas de Ignição\t\R$".$totalamount
                ."\t". $address."\n";
// abre o arquivo para anexar
fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'ab');
if (!$fp)
{
        echo '<p><strong> Seu pedido não poderá ser processado nesse momento. '
        .'Por favor, tente novamente mais tarde.</strong></p></body></html>';
        exit;
}
fwrite($fp, $outputstring, strlen($outputstring));
fclose($fp);
echo '<p>Pedido Gravado!</p>';
?>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Configure seu código para exibir TODAS as mensagens de erro, adicionando este código ao topo do script.

 

ini_set('display_errors', true); 
error_reporting(E_ALL);

 

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.