Mostrando postagens com marcador função php. Mostrar todas as postagens
Mostrando postagens com marcador função php. Mostrar todas as postagens

TRANSFERÊNCIA DE ARQUIVOS NO PHP VIA SFTP / SSH

TRANSFERÊNCIA DE ARQUIVOS NO PHP VIA SFTP / SSH

Em um dado momento no desenvolvimento de um sistema, foi preciso criar uma função para transferir arquivo de um servidor para outro, sendo que o servidor só dava suporte a transferência de arquivos via SSH. Foi então que desenvolvi esta função que funcionou perfeitamente.

///////////ENVIO VIA SSH////////
                $serverHost = seusite.com.br;
                $serverUser = 'seuLoginSFTP';
                $serverPass = 'senhaDoLoginSFTP';
                $diretorioLocal = 'arquivoTemporario/meuArquivo.txt'
                $diretorioRemoto = 'var/www/diretorioDestinoServidorExterno/meuArquivo.txt';

                /* Faz a conexão com o servidor remoto */
                if (!$ssh = @ssh2_connect($serverHost, 22)) {
                     SingletonPDO :: rollbackTrans();
                    $xml .= "<erro>ERRO AO ABRIR CONEXÃO SSH COM SERVER $servidor!</erro>";
                    die("$xml\n");
                }

                /* Faz a autenticação no servidor remoto */
                if (!@ssh2_auth_password($ssh, $serverUser, $serverPass)) {
                     SingletonPDO :: rollbackTrans();
                    $xml .= "<erro>ERRO AO TENTAR AUTENTICAR O USUARIO SSH AO SERVER $serverHost!</erro>";
                    die("$xml\n");
                }

                /**
                 * Copia o arquivo do servidor local para o servidor remoto.
                 * As permissões são opcionais
                 */
                if (!@ssh2_scp_send($ssh, $diretorioLocal, $diretorioRemoto, 0644)) {
                     SingletonPDO :: rollbackTrans();
                    $xml .= "<erro>ERRO AO ENVIAR ARQUIVO VIA SSH AO SERVIDOR $servidor! - $diretorioLocal - $diretorioRemoto</erro>";
                    die("$xml\n");
                }

///////////////////////////////////////

A FORMA MAIS FÁCIL DE FAZER UPLOAD DE ARQUIVO COM JAVASCRITP AJAX JQUERY E PHP

No arquivo.php
$nome_arquivo = $_FILES['file']['name']; $tmp_name = $_FILES['file']['tmp_name']; if (is_dir("c:/upload/arquivo")) { $upload = move_uploaded_file($tmp_name, "c:/upload/arquivo/$nome_arquivo"); if ($upload == true) { exit("UPLOAD REALIZADO COM SUCESSO"); } else { exit("ERRO AO FAZER UPLOAD"); } }else{ exit("DIRETÓRIO DE DESTINO NÃO ENCONTRADO"); }
No arquivo.js
$(function () { $("#form").submit(function (e) { e.preventDefault(); uploadArquivo(); }) }) function uploadArquivo() { var data; data = new FormData(); data.append('file', $("#form input[type='file']")[0].files[0]);///ENVIA APENAS UM ARQUIVO $.ajax({ url: "arquivo.php", data: data, type: "post", processData: false, contentType: false, success: function (resp) { alert(resp); } }) }
No arquivo.html

<form id="form">
   Escolha o arquivo:
  <input name="arquivo" type="file" />
  <button type="submit">Salvar</button>
</form> 

Função php para pegar cotação do dolar para real

<?php  
     function cotacaoDolar(){  
       $url = "http://www.dolarhoje.net.br";  
       $ch = curl_init();  
        $timeout = 0;  
        curl_setopt($ch, CURLOPT_URL, $url);  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
        $cont = curl_exec ($ch);  
        curl_close($ch);  
        $cont = preg_replace('/\n/',' ', $cont);  
        $cont = preg_replace('/\s/',' ', $cont);  
        $exp = '<span.*?id="moeda".*?> = R\$(.*?)<\/span>';  
        preg_match_all("@".$exp."@" ,$cont , $retorno);   
        $resp = str_replace(",", ".", $retorno[1][0]);  
        return $resp;  
     }  
 ?>  

Função php para criar diretório via ftp

Se este código foi útil ou está com dúvidas ou encontrou algum erro, deixe seu cometário.

 <?php
function criarDiretorioFtp($caminhoDiretorio){  

            $dados = array(
                'host' => "host_ftp",
                'usuario' => "usuario_ftp",
                'senha' => "senha_ftp",
                'porta' => "porta_ftp"
            );
 
            $fconn = ftp_connect($dados["host"],$dados["porta"]);

            if (!ftp_login($fconn, $dados["usuario"], $dados["senha"])) {
            return array("results" => false, "msg" => 'Não foi possível conectar-se ao ftp. Verifique as configurações de conexão do ftp se estão corretas.');
            }else{          
            $array = explode('/', $caminhoDiretorio);  
            $novoCaminho = "public_html/";  
            $c = 1;  
           foreach ($array as $value) {  
              if($value){  
                $novoCaminho .= $value;  
        
                  if(!file_exists("ftp://{$dados['usuario']}:{$dados['senha']}@site.com.br:{$dados['porta']}/$novoCaminho")){  ///verifica se ainda não existe o diretório ftp
                    ftp_mkdir($fconn, $novoCaminho);  //fução para criar o diretório via ftp
                  }   

                if(count($array)!=$c){$novoCaminho .= "/";}  
              }  
           $c++;  
           }  
 return true;  
}  
?>

Upload de arquivo e imagem com ajax, js, php e html utilizando a barra de progresso

Se este conteúdo foi útil para você ou se encontrou algum erro, deixe seu comentário avaliando ou informando o erro.

 /////criar o arquivo com nome de upload-arquivo.php e inserir apenas este conteúdo que está em php/////  
<?php  
           if ($_FILES) {  
       $arquivo = array_shift($_FILES);        
       $nomeArquivo = $arquivo['name'];        
           $upload = move_uploaded_file($arquivo['tmp_name'], "upload/arquivo/". $nomeArquivo);  
           if ($upload == true) {  
             $results = array("nome_arquivo" => $nomeArquivo, "results" => true, "msg" => "Arquivo inserido com sucesso!");  
           } else {  
             $results = array("results" => false, "msg" => "Erro ao tentar fazer upload de arquivo. Tente novamente mais tarde!");  
           }  
     } else {  
       $results = array("results" => false, "msg" => "O arquivo ainda não foi escolhido!");  
     }  
 exit(json_encode($results));  
 ?> 
/////////////////////////////////////////////

//// criar o arquivo na mesma pasta que está o upload-arquivo.php com o nome index.html e inserir este conteúdo abaixo////
 <html>  
 <head>  
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>   
   <script src="http://malsup.github.com/jquery.form.js"></script>  
 <script>   
 function uploadArquivo(selectorForm){   
     $(selectorForm).ajaxForm({    
      uploadProgress: function (event, position, total, percentComplete) {   
       $(selectorForm + " #upload_in_progress").css("display", 'block');   
       $(selectorForm + ' progress').attr('value', percentComplete); //CARREGAR A BARRA DE PROGRESSO   
       $(selectorForm + ' #porcentagem').html(percentComplete + '%'); ///MOSTRA A PORCENTAGEM DO CARREGAMENTO   
      },   
      success: function (res) {   
       $(selectorForm + ' progress').attr('value', '100');   
       $(selectorForm + ' #porcentagem').html('100%');   
       var params = JSON.parse(res); //recebe o resultado retornado em json do php  
       if (params.results == true) {   
        alert(params.msg);  
       //caso procedimento foi realizado com sucesso insira o código aqui  
       } else {   
        alert(params.msg);   
        //caso procedimento não foi realizado com sucesso insira o código aqui   
       }   
      },   
      complete: function (xhr) {   
       $(selectorForm + " #upload_in_progress").css("display", 'none');   
       $(selectorForm + ' progress').attr('value', 0);   
       $(selectorForm + ' #porcentagem').html('0%');   
      }   
     })   
      $(selectorForm).submit();   
  }   
 </script>  
 </head>  
 <body>  
 <form action="upload-arquivo.php" id="formEnviarArquivo" enctype="multipart/form-data" >  
  Escolha o arquivo para download <br />  
  <input type="file" name="arquivo" id="arquivo" />  <br />
  <button onclick="uploadArquivo('#formEnviarArquivo')">Enviar arquivo</button>  
 <div id="upload_in_progress" class="upload_infobar" style="display: none;width: 100%">  
  <progress value="0" max="100" style="width:100%"></progress>  
  <img src="img/ajax-loader.gif" width="16" height="16">  
  Upload em andamento  
  <span id="porcentagem">0%</span>  
 </div>  
 </form>  
 </body>  
 </html>  

Função php para verificar se url existe

Se este código foi útil para você, deixe um comentário avaliando.

     <?php
   function verificaExisteUrl($url)  
   {  
     $validar = get_headers($url);  
     $validar = explode(" ",$validar[0]);  
     $validar = $validar[1];  
     if($validar == "302" || $validar == "200")  
       return true;  
     else  
       return false;  
   }  

 if(verificaExisteUrl('http://www.seusite.com.br/imagem/imagem.jpg')){
    ///Se url existe
  }else{
    ///Se url não existe
  }
?>

Função php para retornar o mês por extenso

Se foi útil para você, deixe seu comentário avaliando.

   public static function mesExtensoPortugues($mesNumero) {  
     $nomeDosMeses = array(NULL,  
       'Janeiro', 'Fevereiro', 'Março',  
       'Abril', 'Maio', 'Junho',  
       'Julho', 'Agosto', 'Setembro',  
       'Outubro', 'Novembro', 'Dezembro');  
     if (array_key_exists($mesNumero, $nomeDosMeses)) {  
       return $nomeDosMeses[$mesNumero];  
     }  
     return "Mes Incorreto";  
   }  

Função php para retornar os dias úteis de um determinado período

Se foi útil para você, deixe seu comentário avaliando.

 public static function dias_Uteis($datainicial, $datafinal) {  
     if (!isset($datainicial))  
       return false;  
     if (!isset($datafinal))  
       $datafinal = time();  
     $segundos_datainicial = strtotime(preg_replace('#(\d{2})/(\d{2})/(\d{4})#', '$3/$2/$1', $datainicial));  
     $segundos_datafinal = strtotime(preg_replace('#(\d{2})/(\d{2})/(\d{4})#', '$3/$2/$1', $datafinal));  
     $dias = abs(floor(floor(($segundos_datafinal - $segundos_datainicial) / 3600) / 24));  
     $aWhile = array();  
     $uteis = 0;  
     $nao_uteis = 0;  
     for ($i = 1; $i <= $dias; $i++) {  
       $diai = $segundos_datainicial + ($i * 3600 * 24);  
       $w = date('w', $diai);  
       if ($w == 0) {  

         $aWhile[] = date('d/m/Y', $diai);  
         $nao_uteis++;  
       } elseif ($w == 6) {  

         $aWhile[] = date('d/m/Y', $diai);  
         $nao_uteis++;  
       } else {  
         $dias_uteis[] = date('d/m/Y', $diai);  
         $uteis++;  
       }  
     }  

     return $dias_uteis;  
   }  

Função php para retornar os dias não úteis de acordo com o período passado

Deixe seu comentário avaliando.

 public static function dias_NaoUteis($datainicial, $datafinal) {  
     if (!isset($datainicial))  
       return false;  
     if (!isset($datafinal))  
       $datafinal = time();  
     $segundos_datainicial = strtotime(preg_replace('#(\d{2})/(\d{2})/(\d{4})#', '$3/$2/$1', $datainicial));  
     $segundos_datafinal = strtotime(preg_replace('#(\d{2})/(\d{2})/(\d{4})#', '$3/$2/$1', $datafinal));  
     $dias = abs(floor(floor(($segundos_datafinal - $segundos_datainicial) / 3600) / 24));  
     $aWhile = array();  
     $uteis = 0;  
     $nao_uteis = 0;  
     for ($i = 1; $i <= $dias; $i++) {  
       $diai = $segundos_datainicial + ($i * 3600 * 24);  
       $w = date('w', $diai);  
       if ($w == 0) {  

         $aWhile[] = date('d/m/Y', $diai);  
         $nao_uteis++;  
       } elseif ($w == 6) {  

         $aWhile[] = date('d/m/Y', $diai);  
         $nao_uteis++;  
       } else {  
         $uteis++;  
       }  
     }  

     return $aWhile;  
   }  

Função php para retornar data por extenso

Deixe seu comentário avaliando.

<?php 
 public static function formata_data_extenso($strDate) {  
 // Array com os dia da semana em português;  
     $arrDaysOfWeek = array('Domingo', 'Segunda-feira', 'Ter&ccedil;a-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'S&aacute;bado');  
 // Array com os meses do ano em português;  
     $arrMonthsOfYear = array(1 => 'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro');  
 // Descobre o dia da semana  
     $intDayOfWeek = date('w', strtotime($strDate));  
 // Descobre o dia do mês  
     $intDayOfMonth = date('d', strtotime($strDate));  
 // Descobre o mês  
     $intMonthOfYear = date('n', strtotime($strDate));  
 // Descobre o ano  
     $intYear = date('Y', strtotime($strDate));  
 // Formato a ser retornado  
     return $arrDaysOfWeek[$intDayOfWeek] . ', ' . $intDayOfMonth . ' de ' . $arrMonthsOfYear[$intMonthOfYear] . ' de ' . $intYear;  
   }  
?>

Função para comprimentar usuário com bom dia, boa tarde ou boa noite

Espero que este código seja útil para você assim como é para mim.
Se possível deixe seu cometário avaliando.

function cumprimento() {  
     list($h, $m, $s) = explode(":", date('H:i:s'));  
     if ($h < 12) {  
       $cumprimento = "Bom dia";  
     } elseif ($h >= 12 && $h < 18) {  
       $cumprimento = "Boa tarde";  
     } else {  
       $cumprimento = "Boa noite";  
     }  
     return $cumprimento;  
   }  

Função para retornar o dia da semana.

Espero que este código seja útil para você assim como é para mim.
Se possível deixe seu cometário avaliando.

   public static function dia_da_semana() {  
     switch (date("w")) {  
       case 1:  
         $dia = "Segunda-feira";  
         break;  
       case 2:  
         $dia = "terca-feira";  
         break;  
       case 3:  
         $dia = "quarta-feira";  
         break;  
       case 4:  
         $dia = "quinta-feira";  
         break;  
       case 5:  
         $dia = "sexta-feira";  
         break;  
       case 6:  
         $dia = "Sábado";  
         break;  
       default:  
         $dia = "Domingo";  
 //        $dia = "segunda";  
         break;  
     }  
     return $dia;  
   }    

Função para forçar download de arquivos em PHP

Existe alguns arquivos com certas extensões que tem uma exceção no procedimento de download. Neste exemplo abaixo o download é forçado para todos tipos de extensões.

Espero que este código seja útil para você assim como é para mim.
Se possível deixe seu cometário avaliando.

 <?php function downloadExcecao ($arquivo,$novoNome){  
     $destino ="c:/www/site/temp/$novoNome"; //diretório desde a raíz  
         copy($arquivo, $destino);  
         print("<script>var pg = window.open('www.site.com.br/temp/$novoNome','', 'width=200, height=1, top=0, left=0'); if(!pg){alert('O Bloqueador de Pop-up est\xE1 ativado, para fazer download de arquivos, na faixa amarela acima, clique no bot\xE3o OP\xC7\xD5ES, depois clique em PERMITIR POPUPS, ou DESBLOQUEAR.'); history.back(1);}else{history.back(1);}</script>");  
         exit;  
 }  
 function downloadArquivo($nomeArquivo){  
     $arquivo = "c:/www/site/img/".$nomeArquivo; /// endereço do arquivo que será feito download  
    $novoNome = "novoNomeArquivo.extencao"; ///substituir espaço por "_" caso necessário e não usar acento///  
     if(file_exists($arquivo)){ // faz o teste se o arquivo realmente existe antes de forçar o download do mesmo//  
 /////pegar extenção////////////  
 list($width, $height, $type, $attr) = getimagesize($arquivo);  
 $ext = image_type_to_extension($type);  
 ///////////////////////////  
       switch($ext){ // verifica a extensão do arquivo para pegar o tipo  
         case "pdf": $tipo="application/pdf"; break;  
         case "exe": //$tipo="application/octet-stream"; break;  
         case "zip": $tipo="application/zip"; break;  
         case "rar": $tipo="application/rar"; break;  
         case "doc": $tipo="application/msword"; break;  
         case "docx": $tipo="application/msword"; break;  
         case "odt": $tipo="application/vnd.oasis.opendocument.text"; break;  
         case "xls": $tipo="application/vnd.ms-excel"; break;  
         case "ppt": $tipo="application/vnd.ms-powerpoint"; break;  
         case "gif": $tipo="image/gif"; break;  
         case "png": $tipo="image/png"; break;  
         case "jpeg": $tipo="image/jpeg"; break;  
         case "mp3": $tipo="audio/mpeg"; break;  
         case "php": // deixar vazio por seurança  
         case "htm": // deixar vazio por seurança  
         case "html": // deixar vazio por seurança  
         case "asp": // deixar vazio por seurança  
         }  
         if(isset($tipo)){  
           if($ext=="doc" || $ext=="docx" || $ext=="odt"){ /// caso o arquivo seja com essas extensões então força download de outra forma//////  
           downloadExcecao($arquivo,$novoNome);  
           }else{  
             // Configuramos os headers que serão enviados para o browser  
             header('Content-Description: File Transfer');  
             header("Content-Type: ".$tipo);  
             header('Content-Disposition: attachment; filename="'.$novoNome.'"');  
             header('Content-Type: application/octet-stream');  
             header('Content-Transfer-Encoding: binary');  
             header('Content-Length: ' . filesize($arquivo));  
             header('Cache-Control: must-revalidate, post-check=0, pre-check=0');  
             header('Pragma: public');  
             header('Expires: 0');  
             // Envia o arquivo para o cliente  
             ob_end_clean();  
             flush();  
             readfile($arquivo);  
           }  
         }else{  
           print "<script>alert('Não é possível fazer o download deste arquivo, tente novamente mais tarde.');</script>";  
         }  
         exit; // aborta pós-ações  
         }  
       }  
 ?>  

Função php para copia arquivo de um servidor para outro

Está é uma função php difícil de ser encontrada na internet.
Espero que este código seja útil para você assim como é para mim.
Se possível deixe seu cometário avaliando.

 <?php  
 /////////////////////////////////////////////////////////////////////  
 ///url de exemplo passado para está função //////  
 http://www.siteondeestáafunção.com.br?url_arquivo=endereço_virtual_do_arquivo_a_ser_copiado  
 ////função que ficará no servidor de destino onde arquivo será guardado///////  
 function copiarArquivoServidorExterno(){  
 ///remove caracteres especiais que aparecem na url//////  
 $urlArquivo = str_replace(array('%26','%3F','%20'), array('&','?',' '), $_GET['url_arquivo']);  
 ////////////////////////////////////////////  
 ////pega apenas o endereço do arquivo passado por parâmetro que vem junto com o endereço do servidor onde está a função/////  
 $arquivo = explode('&nome_arquivo=', $urlArquivo);  
 /////pegar extenção do arquivo//////  
  $extensaoArquivo = explode('.', $arquivo[0]);  
  $c = count($extensaoArquivo);  
 $extensaoArquivo = strtolower($extensaoArquivo[$c - 1]);  
 ////////////////////////////////  
 ///nome novo do arquivo copiado///  
  $nomeArquivo = "nomedoarquivodestino".".".$extensaoArquivo;  
 ////copia do servidor externo para um arquivo chamado temp dentro do servidor de destino///  
 $destino = c:/www/teste/temp/".$nomeArquivo; //tem que ser endereço completo desde a raiz do diretório////  
 $orig = fopen($arquivo[0], "r");  
 $dest = fopen($destino, "w");  
 while (!feof($orig)) {  
 $line = fread ($orig, 1024);  
 fwrite($dest, $line);  
 }  
 fclose($orig);  
 fclose($dest);  
 ///////////////////////////////  
 ///retorna o endereço do arquivo no servidor de destino/////  
 return $dest;  
 }  
 ?>