IgMotta 0 Denunciar post Postado Março 7, 2007 Olá Pessoal. Já pesquisei nos fórum e material sobre PHP e não encontro solução para esse meu problema. Tem uma área de administração de novos afiliados, onde eu posso criar, editar e deletar novos afiliados e quando eu quero criar um novo afiliado eu tenho que adicionar o numero do id dele num campo e depois que eu mandar criar esse novo afiliado ele tem que criar ao mesmo tempo um arquivo *.id e um diretório com o mesmo numero do arquivo *.id e após criado esse arquivo *.id e diretório ele abre automaticamente uma página de edição para inserir todos os dados desse novo afiliado e após isso tá tudo criado. Qual meu problema? Na hora que eu vou criar o novo afiliado ele cria apenas o diretório e não cria o arquivo *.id para editar os dados do afiliado. Quando eu mando criar o novo afiliado ele dá essa mensagem de erro: Warning: fwrite(): supplied argument is not a valid stream resource in /home/w16178/public_html/admsite/adm_afiliados_add.php on line 29Warning: fclose(): supplied argument is not a valid stream resource in /home/w16178/public_html/admsite/adm_afiliados_add.php on line 30ID: 222444 criado com sucesso!Aguarde para editar novo afiliado.Warning: fwrite(): supplied argument is not a valid stream resource in /home/w16178/public_html/admsite/adm_afiliados_add.php on line 45Warning: fclose(): supplied argument is not a valid stream resource in /home/w16178/public_html/admsite/adm_afiliados_add.php on line 46 Como podem ver o código acima, ele criou o diretório e fica procurando o arquivo *.id para editar o novo afiliado. Abaixo está o código onde está ocorrendo esse erro: <?//inicioif (!isset($submit_noticias)) {?><form action="adm_afiliados_add.php" method="post" name="form1" id="form1"><table align=center border="1" cellspacing="5" cellpadding="2"><tr><th colspan="2">Entre com o ID do novo afiliado</th></tr><tr><td>ID :</td><td><input type=text name='id_afiliado_novo' size=6></td></tr><tr><td>Nome completo :</td><td><input type=text name='id_afiliado_nome' size=30></td></tr><tr><td>ID Patrocinador :</td><td><input type="text" name="id_patrocinador" value="<? echo $_SERVER['REMOTE_USER']; ?>" size="6" readonly></td></tr><tr><th colspan="2"><input type="submit" name="submit_noticias" value=" submit "></th></tr></table></form><?}//criando um arquivo .id em brancofunction criandoFileID($dirName) { $fp =@fopen("../$dirName/$dirName.id", "w"); fwrite($fp, "||||||||||||"); //Linha 29 fclose ($fp); //Linha 30 echo "<center><font color=#FF0000>ID: " .$dirName. " criado com sucesso!<br>Aguarde para editar novo afiliado.</font>";}//criando o arquivo id.php//que contém Nome e ID//escreve o inicio do arquivo id.phpfunction editandoFileIDPHP($dirName, $dirNome, $dirPatrocinador) { $fp =@fopen("../$dirName/id.php", "w"); $inicio = "<?\n"; $inicio = $inicio . "//arquivo de identificacao do usuario\n"; $inicio = $inicio . "\$id=\"$dirName\";\n"; $inicio = $inicio . "\$nome=\"$dirNome\";\n"; $inicio = $inicio . "\$patrocinador=\"$dirPatrocinador\";\n"; $inicio = $inicio . "?>"; fwrite($fp, $inicio); //Linha 45 fclose ($fp); //Linha 46 echo "<meta http-equiv='Refresh' content='2; URL=adm_afiliados_edit_novo.php?dirName=$dirName'>";}//funcao criar diretorio afiliadofunction mkdir_r($dirName, $rights=0777){ if (file_exists($dirName)) { print "O arquivo $filename existe"; exit; } else { $dirs = explode('/', $dirName); $dir=''; foreach ($dirs as $part) { $dir.=$part; if (!is_dir($dir) && strlen($dir)>0) $rights=0777; echo "<center>"; if (!mkdir("../".$dir, $rights)) { echo "<meta http-equiv='Refresh' content='2; URL=adm_afiliados.php'>"; exit("<div align=center><font color=#FF0000>Afiliado já existe!</font></div>"); } else { //copiando os arquivos... $fromDir="../0id"; $toDir="../".$dirName; copydirr($fromDir,$toDir); } } }}//codigo copiar arquivosfunction copydirr($fromDir,$toDir,$chmod=0777,$verbose=false)/* copies everything from directory $fromDir to directory $toDir and sets up files mode $chmod*/{//* Check for some errors$errors=array();$messages=array();if (!is_writable($toDir)) $errors[]='target '.$toDir.' is not writable';if (!is_dir($toDir)) $errors[]='target '.$toDir.' is not a directory';if (!is_dir($fromDir)) $errors[]='source '.$fromDir.' is not a directory';if (!empty($errors)) { if ($verbose) foreach($errors as $err) echo '<strong>Error</strong>: '.$err.'<br />'; return false; }//*/$exceptions=array('.','..');//* Processing$handle=opendir($fromDir);while (false!==($item=readdir($handle))) if (!in_array($item,$exceptions)) { //* cleanup for trailing slashes in directories destinations $from=str_replace('//','/',$fromDir.'/'.$item); $to=str_replace('//','/',$toDir.'/'.$item); //*/ if (is_file($from)) { if (@copy($from,$to)) { chmod($to,$chmod); touch($to,filemtime($from)); // to track last modified time $messages[]='File copied from '.$from.' to '.$to; } else $errors[]='cannot copy file from '.$from.' to '.$to; } if (is_dir($from)) { if (@mkdir($to)) { chmod($to,$chmod); $messages[]='Directory created: '.$to; } else $errors[]='cannot create directory '.$to; copydirr($from,$to,$chmod,$verbose); } }closedir($handle);//*///* Outputif ($verbose) { foreach($errors as $err) echo '<strong>Error</strong>: '.$err.'<br />'; foreach($messages as $msg) echo $msg.'<br />'; }//*/return true;}//inicio add afiliadoif (isset($submit_noticias)) {$dirName = $id_afiliado_novo;$dirNome = $id_afiliado_nome;$dirPatrocinador = $_SERVER['REMOTE_USER']; criandoFileID($dirName); editandoFileIDPHP($dirName,$dirNome,$dirPatrocinador);}//fim script add afiliado?> Bom pessoal, quero lembrar que esse código estava funcionando perfeito em outro servidor de hospedagem. Já pedi ao servidor para habilitar o Fopen, Fwrite, Fclose, desabilitar o safe_mode, já mudei a permissão para 777. Já estudei de ponta a rabo esse código e não achei erro, já busquei dentro de outros fóruns e do imasters solução. Então a única opção é pedir ajudar ao feras companheiro de PHP. Fico aguardando a ajuda de vcs. IgMotta Compartilhar este post Link para o post Compartilhar em outros sites
IgMotta 0 Denunciar post Postado Março 9, 2007 Olá pessoal.Tem alguém ai que possa me ajudar a encontrar o erro?Desde já lhe agradeço.IgMotta Compartilhar este post Link para o post Compartilhar em outros sites
IgMotta 0 Denunciar post Postado Março 16, 2007 Tem alguém ai que possa me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Março 16, 2007 Cara uma informação... o conteúdo dentro desse arquivo .id é formato texto?? tipo do bloco de notas? Compartilhar este post Link para o post Compartilhar em outros sites
IgMotta 0 Denunciar post Postado Março 17, 2007 Cara uma informação... o conteúdo dentro desse arquivo .id é formato texto?? tipo do bloco de notas?Olá Amigo.Obrigado por responder.Esse arquivo fica uma extrensão .id mesmo e dá para abrir no bloco de nota e formato texto.Exemplo.454105.id - esse é meu numero.Fico no aguardo Compartilhar este post Link para o post Compartilhar em outros sites