ricardo.cabral Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 Pessoal, o codigo abaixo tenta fazer um upload num servidor, mas joga-lo pra um diretorio cujo sistema vai criar. o diretorio já esta com permissão 777 mas o código ainda da erro. Alguém pode me dizer onde está esse erro?Obrigado desde já!Ricardo Cabral <?php if(!$acao) { ?> <form method="POST" action="upload.php?acao=upload" ENCTYPE="multipart/form-data"> <table width="52%" border="0" align="center"> <tr> <td> <strong><font size=1 face=Verdana>Diretório:</font> </strong></td> <td><input type="eradir" name="eradir"> </td> </tr> <tr> <td><strong><font size=1 face=Verdana>Arquivo: </font> </strong></td> <td><input type="file" name="file"></td> </tr> <tr> <td> </td> <td><input name="submit" type="submit" value="Fazer Upload"> </td> </tr> </table> <?php $dir = $id; $destino = realpath("/var/www/buildings/edificio/edificio_imagens"); $path = $destino. "/" .$dir; echo "<br>"; echo $path; } elseif($acao=="upload") { // if(!file_exists($dir)){ if(!file_exists($path)){ mkdir($dir, 0777); } $status = move_uploaded_file($file,"$path"."$file_name"); if($status == 1) { echo $destino; echo "Arquivo Enviado"; } else { echo "Erro ao Enviar"; } } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 Fica mais fácil se você disser o erro que está dando... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ricardo.cabral Postado Julho 6, 2004 Autor Denunciar Share Postado Julho 6, 2004 É pra já :-)Warning: MkDir failed (No such file or directory) in /var/www/buildings/edificio/edificio_imagens/upload.php on line 42Arquivo Enviado Ele envia o arquivo, mas não cria o diretório que eu quero Se alguém pudesse ajudar, ficaria muito agradecido :-)Obrigado[]'sRicardo Cabral Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 Pessoal, o codigo abaixo tenta fazer um upload num servidor, mas joga-lo pra um diretorio cujo sistema vai criar. o diretorio já esta com permissão 777 mas o código ainda da erro. Alguém pode me dizer onde está esse erro?Obrigado desde já!Ricardo Cabral<?php if(!$acao) { ?> <form method="POST" action="upload.php?acao=upload" ENCTYPE="multipart/form-data"> <table width="52%" border="0" align="center"> <tr> <td> <strong><font size=1 face=Verdana>Diretório:</font> </strong></td> <td><input type="eradir" name="eradir"> </td> </tr> <tr> <td><strong><font size=1 face=Verdana>Arquivo: </font> </strong></td> <td><input type="file" name="file"></td> </tr> <tr> <td> </td> <td><input name="submit" type="submit" value="Fazer Upload"> </td> </tr> </table> <?php $dir = $id; $destino = realpath("/var/www/buildings/edificio/edificio_imagens"); $path = $destino. "/" .$dir; echo "<br>"; echo $path; } elseif($acao=="upload") { // if(!file_exists($dir)){ if(!file_exists($path)){ mkdir($dir, 0777); } $status = move_uploaded_file($file,"$path"."$file_name"); if($status == 1) { echo $destino; echo "Arquivo Enviado"; } else { echo "Erro ao Enviar"; } } ?> De onde vem aquela variável $id que eu deixei em vermelho ali em cima?Do formulário? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ricardo.cabral Postado Julho 6, 2004 Autor Denunciar Share Postado Julho 6, 2004 Sim vem do formulário via get, é uma String e a partir dela que eu vou criar meu diretório.Mesma coisa que $dir = "php";na hora do mkdir eu quero que ele crie um diretorio em /var/www/../../php/imagem.jpgele cria esse diretório /php e faz o upload do arquivo imagem.jpg.Procurei em tudo que é lugar (espero) e não achei :-( []'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 Tenta isso:Você tem que chamar as variáveis dentro das suas respectivas arrays:$_GET['variavel'] ao invés de $variavel quando ela vier de um FORM GET ou da Query String ...$_POST['variavel'] ao invés de $variavel quando ela vier de um FORM POST...$_SERVER['variavel'] ao invés de $variavel quando ela for uma variável pré-definida, do servidor...$_SESSION['variavel'] ao invés de $variavel quando ela for uma variável de sessão...E por aí vai...Capisce? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ricardo.cabral Postado Julho 6, 2004 Autor Denunciar Share Postado Julho 6, 2004 Cara, alterei o código para $dir = $_GET['id'];o Original está emPágina Originalcontinua pegando a váriavel que eu quero, mas não cria o diretório :-( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 Cara, alterei o código para $dir = $_GET['id'];o Original está emPágina Originalcontinua pegando a váriavel que eu quero, mas não cria o diretório :-( Tentou colocar um valor fixo na variável pra ver se o problema realmente não é dela?O diretório onde você está tentando criar o subdiretório está com o CHMOD 777, certo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ricardo.cabral Postado Julho 6, 2004 Autor Denunciar Share Postado Julho 6, 2004 sim, fiz os dois, nenhum da certo. o problema todo é que ele num cria o diretorio, creio eu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 Me diz onde está esse arquivo que faz o upload, pra onde vai o arquivo que foi uploadeado, me passa todos os caminhos...Acho que tá com um problema de pastas... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ricardo.cabral Postado Julho 6, 2004 Autor Denunciar Share Postado Julho 6, 2004 Tomara!!! que seja! hehehehehehttp://www.buildings.com.br/buildings/edif...gens/upload.phpou/var/www/buildings/../../upload.phpo upload chama ele mesmo com a ação de enviar o arquivo pro destinoe onde eu quero salvar é dpois de/edificio_imagens/nome_id/arquivo.jpgSerá que ficou claro?Obrigado pela pacência :-) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 6, 2004 Denunciar Share Postado Julho 6, 2004 Cara....coloquei o seu script pra rodar aqui ele está com vários problemas de caminho de pasta e arquivo...O problema principal é o seguinte: o script sempre tem como base o diretório onde ele está... se ele está no diretório /var/home/ximbica e você mandar ele salvar o arquivo em ./teste/, ele vai salvar o arquivo em /var/home/ximbica/teste/...Todo o caminho depende de onde está o arquivo que faz o upload, então você vai ter que dar uma ajustada nessas suas variáveis...Faz o seguinte, pra ficar mais fácil: faz primeiro a parte em que ele cria o diretório caso ele não exista...depois você parte pro upload... vai ser mais simples... E não precisa agradecer, cara, estamos aqui pra ajudar quem quer aprender a linguagem... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ricardo.cabral Postado Julho 7, 2004 Autor Denunciar Share Postado Julho 7, 2004 Cara só tenho a agradecer :-) funcionou só que tem um problema que eu tentei resolver e acabou não dando certo. Ele fez o Upload, cria o diretorio, mas quando tento mandar o arquivo ao invés de cair no else ele da uma mensagem de erro.De qualquer forma o código fica aqui pra quem precisar algum dia :-). Agora se alguém soubesse como eu faço pra evitar o segundo erro abaixo ficaria feliz.Obrigado <?php if(!$acao) { ?> <form method="POST" action="upload.php?acao=upload&id=<?php echo $id?>" ENCTYPE="multipart/form-data"> <table width="52%" border="0" align="center"> <tr> <td> <strong><font size=1 face=Verdana>Diretório:</font> </strong></td> <td><input type="eradir" name="eradir"> </td> </tr> <tr> <td><strong><font size=1 face=Verdana>Arquivo: </font> </strong></td> <td><input type="file" name="file"></td> </tr> <tr> <td> </td> <td><input name="submit" type="submit" value="Fazer Upload"> </td> </tr> </table> <?php $destino = realpath("/var/www/buildings/edificio/edificio_imagens/"); echo $destino; echo "<br>"; echo $dir; } elseif($acao=="upload") { $dir = $id; if(!file_exists($destino)){ mkdir($dir, 0777); } else { echo "Diretorio já existe!!!"; } $status = move_uploaded_file($file,"$dir"."/" ."$file_name"); if($status == 1) { echo "Arquivo Enviado"; } else { echo "Erro ao Enviar"; } } ?> Ricardo Cabral Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 7, 2004 Denunciar Share Postado Julho 7, 2004 Cara...acho que essa sua $status não retorna "1" caso funcione...Faz o seguinte... dá um echo nela... e tenta enviar um arquivo com sucesso...depois força algum erro.. vê os valores que ela retorna em cada ocasião... e então monta o seu IF em cima deles... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ricardo.cabral Postado Julho 7, 2004 Autor Denunciar Share Postado Julho 7, 2004 Carinha problema resolvido :-) obrigado novamente if(!file_exists($destino)){ mkdir($dir, 0777); $status = move_uploaded_file($file,"$dir"."/" ."$file_name"); } else { $status = move_uploaded_file($file,"$destino"."/" ."$file_name"); echo "Diretorio já existe!!!"; } So substitui pelo codigo acima!Fica de exemplo, se alguém precisar :-). Não conhecia o forum, mas valeu a ajuda! se eu puder ajudar o pessoal não exite em me procurar também![]'s galeraRicardo Cabral Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Julho 7, 2004 Denunciar Share Postado Julho 7, 2004 Opa...ficou fera... Eu só colocaria um tratamento de erro naquela função do move_uploaded_file()... só pro usuário não ficar vendo os erros caso aconteçam...Só fazer uma mensagenzinha de erro personalizada...ia ficar style...Mas do jeito que está já funciona beleza...Parabéns aí, cara... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ricardo.cabral Postado Julho 7, 2004 Autor Denunciar Share Postado Julho 7, 2004 Opa...ficou fera... Eu só colocaria um tratamento de erro naquela função do move_uploaded_file()... só pro usuário não ficar vendo os erros caso aconteçam...Só fazer uma mensagenzinha de erro personalizada...ia ficar style...Mas do jeito que está já funciona beleza...Parabéns aí, cara... já estou providenciando :-) muito obrigado novamente!!!! estava parado a uma semana isso, já estava ficando louco! Espero poder retribuir a ajuda pra galera![]'sRicardo Cabral Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ricardo.cabral
Pessoal, o codigo abaixo tenta fazer um upload num servidor, mas joga-lo pra um diretorio cujo sistema vai criar. o diretorio já esta com permissão 777 mas o código ainda da erro. Alguém pode me dizer onde está esse erro?
Obrigado desde já!
Ricardo Cabral
Link para o comentário
Compartilhar em outros sites
16 respostass 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.