Jump to content

Archived

This topic is now archived and is closed to further replies.

Deivid Roza

[Resolvido] Upload de um dominio para outro FTP

Recommended Posts

To com a seguinte duvida! quero fazer upload de um arquivo de dentro do meu site (dominio 1) e mandar este arquivo para o dominio 2 Tudo Via FTP.

 

já bolei todo o script mais não está funcionando.

 

Upload.php

<?php
//inicio conect ftp 	
$ftp_server = "ftp.xpg.com.br";
$ftp_user = "meulogin";
$ftp_pass = "minhasenha";
//
// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 

// try to login
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
echo "Conectado a $ftp_user@$ftp_server\n <br />";
} else {
echo "Couldn't connect as $ftp_user\n";
}
//fim conect ftp

// Pasta onde o arquivo vai ser salvo
$_UP['pasta'] = 'uploads/';

// Tamanho máximo do arquivo (em Bytes)
$_UP['tamanho'] = 1024 * 1024 * 2; // 2Mb

// Array com as extensões permitidas
$_UP['extensoes'] = array('jpg', 'png', 'gif', 'rar', 'exe', 'mp3');

// Renomeia o arquivo? (Se true, o arquivo será salvo como .jpg e um nome único)
$_UP['renomeia'] = true;

// Array com os tipos de erros de upload do PHP
$_UP['erros'][0] = 'Não houve erro';
$_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP';
$_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML';
$_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';
$_UP['erros'][4] = 'Não foi feito o upload do arquivo';

// Verifica se houve algum erro com o upload. Se sim, exibe a mensagem do erro
if ($_FILES['arquivo']['error'] != 0) {
die("Não foi possível fazer o upload, erro:<br />" . $_UP['erros'][$_FILES['arquivo']['error']]);
exit; // Para a execução do script
}

// Caso script chegue a esse ponto, não houve erro com o upload e o PHP pode continuar

// Faz a verificação da extensão do arquivo
$extensao = strtolower(end(explode('.', $_FILES['arquivo']['name'])));
if (array_search($extensao, $_UP['extensoes']) === false) {
echo "Por favor, envie arquivos com as seguintes extensões: jpg, png ou gif";
}

// Faz a verificação do tamanho do arquivo
else if ($_UP['tamanho'] < $_FILES['arquivo']['size']) {
echo "O arquivo enviado é muito grande, envie arquivos de até 2Mb.";
}

// O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta
else {
// Primeiro verifica se deve trocar o nome do arquivo
if ($_UP['renomeia'] == true) {
// Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .jpg
$nome_final = time().'.jpg'; 

} else {
// Mantém o nome original do arquivo
$nome_final = $_FILES['arquivo']['name'];
}

// Depois verifica se é possível mover o arquivo para a pasta escolhida
if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'] . $nome_final)) {
// Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo
echo "Upload efetuado com sucesso!";
echo '<br /><a href="' . $_UP['pasta'] . $nome_final . '">Clique aqui para acessar ou baixar o arquivo</a>';
echo '<br />"Descrição do arquivo"';
echo '<br />"Data de envio '. $data .'"';
echo '<br />"Hora de envio '. $hora .'"';
echo '<br />"Nome '. $nome_final .'"' ;
echo '<br />"Tamanho '. $tamanho .'"';
echo '<br />"Tipo '. $tipo .'"';


} else {
// Não foi possível fazer o upload, provavelmente a pasta está incorreta
echo "Não foi possível enviar o arquivo, tente novamente";
}

}
$nome = $_POST['nome'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];
$local = $_UP['pasta'] . $nome_final;
$tamanho = $_FILES['arquivo']['size'];
$tipo = $_FILES['arquivo']['type'];
$ip = $_SERVER['REMOTE_ADDR']. "\n";
$data = date("d/m/y");
$hora = date("H:i:s");
$log = "Log de envio: $data | Horario: $hora | IP: $ip | Imagen: $nome_final | Tamanho: $tamanho Kbts | Tipo: $tipo | Local: $local | Descrição: $mensagem | Nome: $nome | Email: $email ";
$fp = fopen("log.txt", "a");
fputs ($fp, "$log");
fclose($fp);


// close the connection
ftp_close($conn_id); 

?>

oque eu qoero realmente fazer?

Tenho um site audiofestas.no-ip.info (php mysql e tudo mais...)

Tenho outro dominio! www.serveraudiofestas.xpg.com.br com 1 giga de espaço (sómente HTML)

Gostaria de fazer o seguinte:

 

No site! (dominio com php mysql ....) vou colocar uma pagina PHP com o script para fazer upload.eu entro nela normal seleciono o arquivo e fasso upload.

 

Ai esse script fas autenticação no dominio 2 (o servidor) via FTP com logim e senha. e sobe o arquivo pra uma pasta /uploads

depois de pronto ele me avisa se funciono ou não e me passa um echo com o link para o arquivo e com as descrições.

depois ele salva os dados de enc=vio no log.txt

já tentei fazer isso antes mais não funciono de geito nenhum dava um erro que o script php tentava upar para o dominio 1 e não para o dominio 2 (servidor)

 

Pesso a ajuda de vocês mais uma ves para resolver este problema.

Share this post


Link to post
Share on other sites

Ainda reclamão quando alguem da um UP :angry: mais que vou ter que abandonar affs ¬¬

Share this post


Link to post
Share on other sites

já tentei fazer isso antes mais não funciono de geito nenhum dava um erro que o script php tentava upar para o dominio 1 e não para o dominio 2 (servidor)

 

Exemplo:

<?php
if( $_SERVER['REQUEST_METHOD']=='POST' )
{
	var_dump( $_FILES );//apenas para debug
	
	
	$servidor = 'host';
	$caminho_absoluto = '/httpdocs/uploads/';
	$arquivo = $_FILES['arquivo'];
	
	$con_id = ftp_connect($servidor) or die( 'Não conectou em: '.$servidor ); 
	ftp_login( $con_id, 'usuario', 'senha' );
	
	ftp_put( $con_id, $caminho_absoluto.$arquivo['name'], $arquivo['tmp_name'], FTP_BINARY );
}
?>
	<form action="" method="post" enctype="multipart/form-data">
		<input type="file" name="arquivo" />
		<input type="submit" name="enviar" value="Enviar" />
	</form>
bem simples e funcional.

Lembre-se de criar a pasta: uploads e dar permissão 777 nela.

 

Fiz o teste do meu computador (localhost), e enviei para o meu domínio na Locaweb. :P

Aguarde que alguém te responda.

Regras iMasters

 

Nem sempre tem alguém disponível que saiba como resolver, online, e lendo os tópicos.

O Post Up! atrapalha na organização do fórum. Não será com ele, que você será 'respondido mais depressa'. Na verdade, na minha opinião, gera é uma visão ruim do autor do 'post up'.

Share this post


Link to post
Share on other sites

Ok mais tipo localweb tem suporte a php não? isso não atrapalha quem usa uma hospedagem gratis? só com HTML???

 

que legal o XPG não deicha eu setar a permissão para CMOD777 Acess daniede

Share this post


Link to post
Share on other sites

isso não atrapalha quem usa uma hospedagem gratis? só com HTML???

 

porque ? não vejo motivo...

que legal o XPG não deicha eu setar a permissão para CMOD777 Acess daniede

qual o OS?

Windows? Linux?

Share this post


Link to post
Share on other sites

não me informaram! oque sei é que eles não liberam setar nenhuma configuração para os dominios gratuitos!

 

resultado: estou migrando para a Atbhost (gratuita e com PHP+mysql +Cpanel)

 

o esquema acima funciono corretamente obrigado! fix umas modificações nele para ficar ao meu gosto.

coloquei seus créditos e um link para a imaster XD

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.