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



domingo, 20 de novembro de 2011

Download de arquivos do FTP

Bom dia,
Hoje irei explicar como fazer o download de arquivo que esta no FTP.

  Para iniciar fiz uma listagem de todos os arquivos cadastrados em meu banco de dados, já com o link para o download  como na imagem a baixo:

Como estou fazendo uma consulta no banco de dados a resultado vai vir de um record set ficando assim a tabela:

<table border="0">
        <tr align="center" bgcolor="#999999">
          <td>&Aacute;rea</td>
          <td>Tipo Materila</td>
          <td>Titulo</td>
          <td>Link</td>
          <td>Op&ccedil;&otilde;es</td>
        </tr>
        <?php do { ?>
          <tr>
            <td><?php echo $row_Recordset1['are_descricao']; ?></td>
            <td><?php echo $row_Recordset1['tipmat_descricao']; ?></td>
            <td><?php echo $row_Recordset1['mat_titulo']; ?></td>
            <td><a href="../../baixar.php?file=<?php echo     $row_Recordset1['mat_url']; ?>"><?php echo $row_Recordset1['mat_url']; ?></a></td>
            <td><a href="ftp_material.php?mat_codigo=<?php echo $row_Recordset1['mat_codigo']; ?>">^</a> | <a href="del_material.php?mat_codigo=<?php echo $row_Recordset1['mat_codigo']; ?>">X</a></td>
          </tr>
          <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
      </table>


A parte sublinha é a parte do link.
no link ele manda para minha pagina "baixar.php" com o parâmetro "file=o nome do arquivo".

Agora vamos colocar omo funciona o arquivo "baixar.php" pois é ele quem vai fazer o Download.

Código:

$pasta = 'ftp';  // nome da pasta no seu FTP , na onde os arquivos foram guardados

if(isset($_GET['file']) && file_exists("{$pasta}/".$_GET['file']))
{
    $file = $_GET['file']; // variavle que pega o nome do arquivo que deseja fazer o download
    $type = filetype("{$pasta}/{$file}"); //pega o tipo do arquivo que deseja fazer o download
    $size = filesize("{$pasta}/{$file}"); // pega o tamanho do arquivo do arquivo
    
  header("Content-Description:File Transfer"); //descriptografando para fazer o download
    header("Content-Type:($type)");  // pegando o tipo
    header("Content-lenght:($size)"); // pegando o tamanho
    header("Content-Disposition: attachment; filename=$file"); //verificando e inicializando o downlaod
    readfile("{$pasta}/{$file}"); //fazendo o download
    exit; // saindo
    
}

Bom pessoal este foi o post de hoje,
qualquer duvida só comentar reponderei o mais rápido.
bom domingo para todos.

Felipe Eleoterio


sábado, 19 de novembro de 2011

GET/SET - C#

Bom este é o jeito mais fácil para fazer um get/set e o método construtor em C# , no Visual Studio 2010 tem outro modelo e que irá ser meu próximo post.

Código detalhado:

namespace netuno_aplicação// Nome da Aplicação
{
    public class Jur_acao// Nome da Classe
    {
        int cod_acao; // Variável
        string des_acao;//Variável
        //--- Métodos Construtor criar 2 um com as variáveis e outro sem parâmetro, com o mesmo nome da classe
        public Jur_acao(int cod_acao, string des_acao)// Colocar como parâmetro todos as variáveis
        {
          // faça isso com todos as variaveis
            this.cod_acao = cod_acao;
            this.des_acao = des_acao;
        }
        public Jur_acao() //sem Parametro
        {
        }
        //----
  //get/set - é criado automaticamente...seleciona a variavel e com o atalho "ctrl+R+ctrl+E" ele adicionara sozinho;
        public int Cod_acao
        {
            get { return cod_acao; }
            set { cod_acao = value; }
        }
       

        public string Des_acao
        {
            get { return des_acao; }
            set { des_acao = value; }
        }
    }
}

qualquer duvida comente responderei mai rápido possível.

ate mais, Felipe Eleoterio.

sexta-feira, 18 de novembro de 2011