segunda-feira, 21 de novembro de 2011

Upload FTP

Boa tarde,
desculpe a demora por postar hoje mais estou meio sem ideia ...
para o post anterior nao ficar meu sem sentido vou por como fazer o upload do arquivo no FTP.

Bom para comesarmos precisamos ter um tela como esta:
ela é bem simples...
é apenas um formulario com um campo do type="file"..
LAMBRESE de por >> enctype="multipart/form-data"


<form dir="form1" name="form1" action="ftp.php?mat_codigo=<?php echo $row_Recordset1['mat_codigo']; ?>" method="post" enctype="multipart/form-data">
    <table width="143" height="76" border="1">
    <tr>
    <td height="31">Codigo:</td>
    <td><?php echo $row_Recordset1['mat_codigo']; ?></td>
    </tr>
    <tr>
    <td>Arquivo</td>
    <td><input type="file" name="filedata" id="filedata" /></td>
    </tr>
<tr>
    <td colspan="2"><input type="submit" value="Upload" /></td>
    </tr>
    </table>
</form>   

Como pode se ver no action do form ela é enviada para a pagina "ftp.php" que nao tem nada visual apenas codigo.

<?php require_once('../../Connections/local.php'); ?> //Pegando conexao com o banco"caso haja q salvar o nome no banco de dados"
<body bgcolor="#999999"><?php
if(!empty($_FILES['filedata']['name'])){ //Verifica se o campo foi mesmo preenchido
$ftp_server = "localhost"; //Servidor
$upload_dir = "/ftp/"; // Local onde está a pasta onde ficarão salvos os uploads
$upload = "/ftp/"; // Caminho dos uploads
$ftp_user = "anonymous"; // Usuário do ftp
$ftp_pass = ""; // Senha do usuário do ftp
$sourcefile = $_FILES['filedata']['tmp_name']; // Variável que pesquisa os uploads
$filename = $_FILES['filedata']['name']; // Variável que pega o nome do arquivo
$filetype = $_FILES['filedata']['type']; // variavel que pega o tipo do arquivo
$finalfile = $upload_dir.$_FILES['filedata']['name']; //começando a parte de upload em si
$ftpconn = ftp_connect($ftp_server); //conectando no servidor
$ftpresult = ftp_login($ftpconn,$ftp_user,$ftp_pass); //fazendo o login no FTP
$ftp_pasv= ftp_pasv($ftpconn,true); //informando que o FTP é passivo

// agora é apenas mensagens de erros e informações
if((!$ftpconn) || (!$ftpresult)) { // verifica se a conexão foi realizada com sucesso
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Falha na Conexão")  // se nao for concluida ele aprece um alert informando que deu falha na conexao
</SCRIPT>
<?php 
}
else {
}
if ($ftpupload = ftp_put($ftpconn,$finalfile,$sourcefile,FTP_BINARY)) { // verifica se o arquivo foi enviado.
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Arquivo enviado com Sucesso") // se for ele manda a mensagem de sucesso
</SCRIPT>
<?php
}
else {
?><SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
alert ("Erro no envio do arquivo!") // se nao ele mando a mensagem de erro
</SCRIPT><?php
}
}


//agora é apenas se tiver banco de dados para salvar o nome
if (!empty($_GET['mat_codigo'])){// verifica se ele recebeu o codigo
$str="update material set mat_url='".$filename."' where mat_codigo=".$_GET['mat_codigo'].""; // sq1 para salvar
mysql_query($str); // executando a sql.
}
include("list_material.php"); dando um inlcud na listagem...pode ser tbm um redirect...
?>

CODIGO comentado logo acima...
qualquer duvida só comentar responderei o mais rapido possivel..

ate o proximo,
felipe eleoterio



Nenhum comentário:

Postar um comentário