Ir para conteúdo

POWERED BY:

Arquivado

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

William Bruno

Upload múltiplos arquivos ftp

Recommended Posts

Fórum errado, desculpem-me

 

É o seguinte galera, meu problema inicial é fazer um multiplo upload(no máximo de 50 arquivos em uma só página), mas a cliente me garante que só precisará de 0 até 10.

Lógico que não vou pedir para que me dêem esse código pronto.. então se pelo menos puderem me indicar o erro, ou algum script melhor, eu já fico agradecido.

 

Estou usando este do livro do Niderauer, mas como não achei nada sobre errata dele, resolvi pedir ajuda aqui.

 

Bom, eu digitei tudo certinho, debuguei o código, e oque não acho como arrumar é que me retorna o seguinte:

Warning: ftp_put() [function.ftp-put]: /up/casual.jpg: No such file or directory in /xxx/up/executa_upload.php on line 54

A linha em questão é a seguinte:

$upload = ftp_put($id_conexao, $arquivo_destino, $arquivo_temporario, FTP_BINARY);
Já tentei de tudo, até colocar caminhos absolutos, no 2° e 3° parâmetro.. mas nada..

as variáveis $arquivo_destino e $arquivo_temporario:

$arquivo_destino = "$caminho_absoluto/$nome_arquivo";
$arquivo_temporario = $_FILES['arquivo']['tmp_name'];
$caminho_absoluto = "/up";
$nome_arquivo = $_FILES['arquivo']['name'];

Grato. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fórum errado, desculpem-me

Sem problemas Til uill você é da casa ;p

acontece hehehe

 

movido de

html http://forum.imasters.com.br/public/style_emoticons/default/seta.gif php

 

eu não entendi isso:

primeiro você poz isso:

$arquivo_destino = "$caminho_absoluto/$nome_arquivo";

e depois isso:

$caminho_absoluto = "/up";
$nome_arquivo = $_FILES['arquivo']['name'];

não seria a ordem contraria?

 

procure fazer isso tambem:

$arquivo_destino = $caminho_absoluto."/".$nome_arquivo;

uma pergunta os campos de upload são adicionados altomaticamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, eles serão... mas só depois que eu conseguir resolver esse upload unico..

O resto acho que consigo me virar, só fazer funcionar para um upload que não tá dando...

 

Bom, na verdade são 3 arquivos diferentes, eu postei na ordem errada, mas está certinho... eu tentei concatenar a barra tb.. mas o resultado foi o mesmo... tentei tb não deixar tão dinâmico e fazer up de uma foto em um lugar, tirando as variáveis e declarando "constantes".. upload.php

<html>
<head>
</head>
<body>
<form method="post" action="executa_upload.php  " enctype="multipart/form-data">
	<input type="hidden" name="max_file_size" value="200000" />
	Arquivo: <input type="file" name="arquivo" size="30" />
	<input type="submit" value="Enviar Arquivo" />
</form>
</body>
</html>
executa_upload.php
CODE
<html>

<head>

</head>

<body>

<?php

set_time_limit(0);

include "config_upload.inc";

 

$nome_arquivo = $_FILES['arquivo']['name'];

$tamanho_arquivo = $_FILES['arquivo']['size'];

$arquivo_temporario = $_FILES['arquivo']['tmp_name'];

//$arquivo_temporario = "C:\Documents and Settings\Bruno\Desktop\casual.jpg";

 

if(!empty($nome_arquivo)){

if($sobrescrever == "nao" && file_exists("$caminho_absoluto/$nome_arquivo"))

die("Arquivo já existe.");

 

if(($limitar_tamanho == "sim") && ($tamanho_arquivo > $tamanho_bytes))

die("Arquivo deve ter no máximo $tamanho_bytes bytes.");

 

$ext = strrchr($nome_arquivo,'.');

if($limitar_ext == "sim" && !in_array($ext, $extensoes_validas))

die("Extensão de arquivo inválida para upload.");

 

// abre uma conexão FTP

$id_conexao = ftp_connect($servidor_ftp);

// realiza o login com o nome de usuário e senha

$login = ftp_login($id_conexao, $usuario_ftp, $senha_ftp);

//verifica se houve sucesso na conexão

if((!$id_conexao) || (!$login)){

echo "Não conectou";

}

else

echo "Usuário $usuario_ftp conectado";

 

// faz o upload do arquivo

//$arquivo_destino = "./up/casual.jpg";

$arquivo_destino = "$caminho_absoluto/$nome_arquivo";

$upload = ftp_put($id_conexao, $arquivo_destino, $arquivo_temporario, FTP_BINARY);

 

 

// verifica se houve sucesso no upload

if(!$upload)

echo "O up falhou";

else

echo "sucesso";

// Fecha a conexão FTP

 

ftp_close($id_conexao);

}

else

die("Selecione o arquivo a ser enviado");

?>

</body>

</html>

config_upload.inc
CODE
<?php

// Parâmetros de configuração da operação

 

// Configurações do servidor FTP

$servidor_ftp = "xxxx";

$usuario_ftp = "xxxx";

$senha_ftp = "xxxx";

 

// Limitar as extensões? (sim ou nao)

$limitar_ext = "sim";

// extensões autorizadas

$extensoes_validas = array(".gif",".jpg",".jpeg",".bmp");

// camiho absoluto onde os arquivos serão armazenados

$caminho_absoluto = "/up";

 

 

// Limitar o tamanho do arquivo? (sim ou nao)

$limitar_tamanho = "nao";

// tamanho limite do arquivo em bytes

$tamanho_bytes = "200000";

 

//se já existir o arquivo, indica se ele deve ser sobrescrito (sim ou nao)

$sobrescrever = "nao";

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem eu to sem o Apache para testar aqui, mas recomendo tentar esta script:

http://www.htmlstaff.org/ver.php?id=4440

 

vou ver se baixo o apache e testo ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

=/

Não entendi essa parte do script:

$end_local = "upload.php";
   $end_server ="envia_mensagem.php";
   $upload = ftp_get($conn_id, $end_local, $end_server, FTP_BINARY);
cadê essas 2 outras páginas php?

Pera... esse up serve para imagens mesmo? tipo... tá estranho =P

"ftp_get() obtém um arquivo remoto a partir de um servidor FTP, e salva-o em um arquivo local. "

Estranho isso... tá me parecendo que esse script faz o contrário oO, envia um arquivo do servidor para a máquina..

Está me retornando o seguinte erro, o script q você passou silver:

Warning: ftp_get(upload.php) [function.ftp-get]: failed to open stream: Permission denied in /xxx/up/up.php on line 73

 

Warning: ftp_get() [function.ftp-get]: Error opening upload.php in /xxx/up/up.php on line 73

O upload FTP falhou!

 

 

Eu até usaria o upload via HTML, mas nele aparece esse mesmo erro...

Minhas pastas:

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifica o CHMODE, apesar que é window né? ou é Unix?

Windows... servidor apache mesmo.

Não faço a mínima doque seja o "CHMODE", vou pesquisar.. tipo... o script funcionou ai?

é só comigo?? :wacko:

Estou já testando on line.

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.