Ir para conteúdo

POWERED BY:

Arquivado

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

Gunther

[Resolvido] Código não cria txt

Recommended Posts

Bom, eu criei um "sistema" de perfis para as inscrições de um torneio, no EasyPHP funcionou perfeitamente, mas quando upei pro site (com chmod777 na pasta /usuarios/) ele não funcionou corretamente, só cria a pasta com todas as permissões, mas os txts que teem que estar dentro não são criados...

 

<?PHP

$id = $_POST['id'];
$classe = $_POST['classe'];
$level = $_POST['level'];
$desc = $_POST['desc'];
$data = date("d/m/Y");
$lis = "<a href=?id=$id>$id se inscreveu em $data</a><br>";

if(empty($id) or empty($classe) or empty($level) or empty($desc)) {

echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=?inscricao&erro2'>";

} else {

 if (file_exists("usuarios/$id/")) {

echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=?inscricao&erro1'>";

} else { 

mkdir ("usuarios/$id", 0777);

$ponteiroi = fopen ("usuarios/$id/nick.txt", "x+");
fwrite($ponteiroi, "$id");
fclose ($ponteiroi);

$ponteiroc = fopen ("usuarios/$id/classe.txt", "x+");
fwrite($ponteiroc, "$classe");
fclose ($ponteiroc);

$ponteirol = fopen ("usuarios/$id/level.txt", "x+");
fwrite($ponteirol, "$level");
fclose ($ponteirol);

$ponteirod = fopen ("usuarios/$id/desc.txt", x+");
fwrite($ponteirod, "$desc");
fclose ($ponteirod);

$ponteirodt = fopen ("usuarios/$id/data_ins.txt", "x+");
fwrite($ponteirodt, "$data");
fclose ($ponteirodt);

$ponteirols = fopen ("lista.txt", "x+");
fwrite($ponteirols, "$lis");
fclose ($ponteirols);

$ponteirost = fopen ("usuarios/$id/status.txt", "x+");
fwrite($ponteirost, "Aguardando");
fclose ($ponteirost);

$ponteiror = fopen ("usuarios/$id/rank.txt", "x+");
fwrite($ponteiror, "1");
fclose ($ponteiror);

$ponteiroe = fopen ("usuarios/$id/emblemas.txt", "x+");
fwrite($ponteiroe, "<img src=images/0inscrito.png> ");
fclose ($ponteiroe);

chmod("usuarios/$id/", 0777);
chmod("usuarios/$id/rank.txt", 0777);
chmod("usuarios/$id/emblemas.txt", 0777);
chmod("usuarios/$id/status.txt", 0777);

echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=?inscricao&ok'>";

}
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

$ponteirod = fopen ("usuarios/$id/desc.txt", x+");
~>

$ponteirod = fopen ("usuarios/$id/desc.txt", "x+");

 

Está arrumado, mas dá na mesma :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

$ponteirod = fopen ("usuarios/$id/desc.txt", "x+");

$ponteirod = fopen ("usuarios/$id/desc.txt", "w+");

 

Já tentei w, w+, a, a+, x e x+

 

Nenhum foi, será que o servidor do site, sei lá, impossibilita de criar? :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

$ponteirod = fopen ("usuarios/$id/desc.txt", "x+");

$ponteirod = fopen ("usuarios/$id/desc.txt", "w+");

 

Já tentei w, w+, a, a+, x e x+

 

Nenhum foi, será que o servidor do site, sei lá, impossibilita de criar? :/

 

troque os 'x+' por 'w+' talvez isso resolve o seu problema!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo primeiro verifique se a pasta esta mesmo em 0777. Se sim faça isso nesta linha:

mkdir ("usuarios/$id", 0777);

sleep(1);

$ponteiroi = fopen ("usuarios/$id/nick.txt", "x+");

 

Talvez seja o tempo de criação que esteja rapido demais.

 

Se não para o 0777 tente usar chmode na pasta '$id', entendeu?? Qual erro o servidor retorna? Tem certeza que você não criou mais de uma pasta chamada "usuarios", uma vez sem querer eu criei a pasta fora da "public_html", então havia duas pastas.

 

Verifica certinho deve ser um errinho de nada, você vai ver.

Amanha eu volto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo primeiro verifique se a pasta esta mesmo em 0777. Se sim faça isso nesta linha:

mkdir ("usuarios/$id", 0777);

sleep(1);

$ponteiroi = fopen ("usuarios/$id/nick.txt", "x+");

 

Talvez seja o tempo de criação que esteja rapido demais.

 

Se não para o 0777 tente usar chmode na pasta '$id', entendeu?? Qual erro o servidor retorna? Tem certeza que você não criou mais de uma pasta chamada "usuarios", uma vez sem querer eu criei a pasta fora da "public_html", então havia duas pastas.

 

Verifica certinho deve ser um errinho de nada, você vai ver.

Amanha eu volto.

 

Sim, ela está com chmode 777 e no public_html... O comando sleep(); funcionou (apenas atrasando o funcionamento do script), mas ainda não está criando os arquivos. E o servidor não retorna nenhum erro, vai como se tudo tivesse dado certo =/

 

O Safe Mode pode influir na criação desses arquivos? Pode ser uma causa desse problema?

 

Obrigado pela ajuda ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a demora.

 

O Safe Mode pode influir na criação desses arquivos? Pode ser uma causa desse problema?

Bem eu não sei te dizer, mas tenta adicionar isso no topo da página carregada:

<?php error_reporting(E_ALL); /*seu código*/ ?>

 

Eu sempre uso esta função é otima.

 

Leia tambem: http://php.net/manual/pt_BR/errorfunc.configuration.php

 

Ae me diga o erro que retornou ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se eu ter desativado o Safe Mode teve alguma influência mas agora está funcionando

 

 

valeu silverfox ;)

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.