Alexandrekirpa Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 peguei um sistema de upload na internet , porem não consigo que a transferencia do arquivo para o meu site seja concluida.aí vai o sistema:form.html<html> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <input name="arquivo" type="file"> <br> <input name="enviar" type="submit" value="Enviar!"> </form> </body> </html> upload.php <? //Criado por XXXX //XXXX@hotmail.com //Latest Revision: 2007-12-23 $servidor = "**********"; $usuario = "**********"; $senha = "**********"; $con = ftp_connect($servidor) or die("Erro ao conectar"); $log = ftp_login($con, $usuario, $senha) or die("Erro ao conectar com usuário e senha"); $nome_f = $_FILES['arquivo']['name']; $nome_t = $_FILES['arquivo']['tmp_name']; $size_f = $_FILES['arquivo']['size']; $size_p = 10240000; //10 MB $info_f = pathinfo($nome_f); $exte_f = $info_f['extension']; //Extensões permitidas $exte_p = array("jpg", "jpeg", "png", "gif", "zip", "rar", "txt", "php", "exe"); $dir = "arquivos/"; if($size_f <= $size_p) { if(in_array($exte_f, $exte_p)) { if(ftp_put($con, $dir . $nome_f, $nome_t, FTP_BINARY)) { ftp_rename($con, $dir . $nome_f, $dir . substr(md5(time()), 0, 10) . "." . $exte_f); echo "Arquivo <b>" . $nome_f . "</b> enviado com sucesso!"; }else{ echo "Erro ao enviar o arquivo " . $nome_f . "!"; } }else{ echo "Extensão inválida!"; } }else{ echo "Tamanho excedido!<br>Tamanho permitido: <b>" . ceil($size_p / 1024 / 1024) . "MB</b>"; } ftp_close($con); ?>-----------------------------------------------------------------------------------------então aparece o erro:Warning: ftp_put(): Unable to service PORT commands in /home/www/projetoajuda.awardspace.com/upload.php on line 29Erro ao enviar o arquivo one.png!alguém sabe a solução?agradeço desde já.-----------------------------------------------------------------------------------------SE não entenderem, por favor postem. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 6, 2008 Denunciar Share Postado Fevereiro 6, 2008 Experimente ativar o modo passivo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alexandrekirpa Postado Fevereiro 7, 2008 Autor Denunciar Share Postado Fevereiro 7, 2008 certo, coloquei igual ta no php.net,<? //Criado por XXXX //XXXX@hotmail.com //Latest Revision: 2007-12-23 $servidor = "*"; $usuario = "*"; $senha = "*"; $con = ftp_connect($servidor) or die("Erro ao conectar"); $log = ftp_login($con, $usuario, $senha) or die("Erro ao conectar com usuário e senha"); // turn passive mode on ftp_pasv($con, true); $nome_f = $_FILES['arquivo']['name']; $nome_t = $_FILES['arquivo']['tmp_name']; $size_f = $_FILES['arquivo']['size']; $size_p = 10240000; //10 MB $info_f = pathinfo($nome_f); $exte_f = $info_f['extension']; //Extensões permitidas $exte_p = array("jpg", "jpeg", "png", "gif", "zip", "rar", "txt", "php", "exe"); $dir = "arquivos/"; if($size_f <= $size_p) { if(in_array($exte_f, $exte_p)) { if(ftp_put($con, $dir . $nome_f, $nome_t, FTP_BINARY)) { ftp_rename($con, $dir . $nome_f, $dir . substr(md5(time()), 0, 10) . "." . $exte_f); echo "Arquivo <b>" . $nome_f . "</b> enviado com sucesso!"; }else{ echo "Erro ao enviar o arquivo " . $nome_f . "!"; } }else{ echo "Extensão inválida!"; } }else{ echo "Tamanho excedido!<br>Tamanho permitido: <b>" . ceil($size_p / 1024 / 1024) . "MB</b>"; } ftp_close($con); ?>mas ae aparece outro erro:Warning: ftp_put(): arquivos/help5.gif: No such file or directory in /home/www/projetoajuda.awardspace.com/upload.php on line 31Erro ao enviar o arquivo help5.gif!nada semelhante a um arquivo(ficheiro) ou diretório em /home/www/projetoajuda.awardspace.com/upload.phpnão entendo o que significa, pode me ajudar?vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 No such file or directory inO diretório 'arquivos' existe? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alexandrekirpa Postado Fevereiro 7, 2008 Autor Denunciar Share Postado Fevereiro 7, 2008 (editado) cara valeu mesmo!!!o subdiretório 'arquivos' tava em outro diretório...ae eu tive que mudar o caminho.somente se não for te incomodar, poderia me falar como colocar um link para o arquivo que acaba de ser 'subido' para o host?achei que poderia ser assim, (mas na hora sai errado [ ver quote] ):$newname = ftp_rename($con, $dir . $nome_f, $dir . substr(md5(time()), 0, 10) . "." . $exte_f); e depois echo "Para visualizar o arquivo, clique no link <a href='http://projetoajuda.awardspace.com/arquivos/" . $newname . "'>" . $newname . "</a>";assim, quanto dá exito no upload aparece isso:Arquivo help6.gif enviado com sucesso!Para visualizar o arquivo, clique no link 1 Editado Fevereiro 7, 2008 por Alexandrekirpa Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Isso não vai funcionar porque $newname tem a função que serve para renomear o arquivo, e não o nome atual do arquivo.Troque isso:$newname = ftp_rename($con, $dir . $nome_f, $dir . substr(md5(time()), 0, 10) . "." . $exte_f); Por isso: $nome_novo = $dir . substr(md5(time()), 0, 10) . "." . $exte_f; $newname = ftp_rename($con, $dir . $nome_f, $nome_novo);Chame a variável $nome_novo no link, ela vai guarda o nome atual do arquivo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alexandrekirpa Postado Abril 7, 2008 Autor Denunciar Share Postado Abril 7, 2008 valeu Eserra...deu certo em um um site.mas ai eu coloquei em outro site do mesmo host e ele dá um erro:Fatal error: Call to undefined function ftp_connect() in /home/www/aliancaestudantil.awardspace.com/upload.php on line 12 o código que eu coloquei neste outro site é idêntico ao anterior, que continua funcionando. não entendi o que aconteceu... será que pode me ajudar? código usado anterior e atualmente: <? //Criado por ********* //*********@hotmail.com //Latest Revision: 2007-12-23 $servidor = "*********"; $usuario = "*********"; $senha = "*********"; $con = ftp_connect($servidor) or die("Erro ao conectar"); $log = ftp_login($con, $usuario, $senha) or die("Erro ao conectar com usuário e senha"); // turn passive mode on ftp_pasv($con, true); $nome_f = $_FILES['arquivo']['name']; $nome_t = $_FILES['arquivo']['tmp_name']; $size_f = $_FILES['arquivo']['size']; $size_p = 10240000; //10 MB $info_f = pathinfo($nome_f); $exte_f = $info_f['extension']; //Extensões permitidas $exte_p = array("jpg", "jpeg", "png", "gif", "zip", "rar", "txt", "php", "exe", "html", "htm"); $dir = "aliancaestudantil.awardspace.com/arquivos/"; if($size_f <= $size_p) { if(in_array($exte_f, $exte_p)) { if(ftp_put($con, $dir . $nome_f, $nome_t, FTP_BINARY)) { $nome_novo = $dir . substr(md5(time()), 0, 10) . "." . $exte_f; $newname = ftp_rename($con, $dir . $nome_f, $nome_novo); echo "Arquivo <b>" . $nome_f . "</b> enviado com sucesso!<br><br>"; echo "Para visualizar o arquivo, clique no link <a href='http://" . $nome_novo . "'>" . $nome_novo . "</a><br>"; echo "Para fazer mais Uploads, clique no link: <a href='http://aliancaestudantil.awardspace.com/form.html'>Uploads</a>"; }else{ echo "Erro ao enviar o arquivo " . $nome_f . "!"; } }else{ echo "Extensão inválida!"; } }else{ echo "Tamanho excedido!<br>Tamanho permitido: <b>" . ceil($size_p / 1024 / 1024) . "MB</b>"; } ftp_close($con); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 7, 2008 Denunciar Share Postado Abril 7, 2008 Se ftp_connect não está sendo reconhecida é porque não está habilitada no servidor. Só o admin do servidor pode ativar isso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Alexandrekirpa
peguei um sistema de upload na internet , porem não consigo que a transferencia do arquivo para o meu site seja concluida.
aí vai o sistema:
form.html
upload.php-----------------------------------------------------------------------------------------
então aparece o erro:
alguém sabe a solução?
agradeço desde já.
-----------------------------------------------------------------------------------------
SE não entenderem, por favor postem.
Link para o comentário
Compartilhar em outros sites
7 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.