Demostração básica sobre Encapsulamento utilizando PHP OO

O Encapsulamento é um recurso de proteção de acesso a propriedades de uma classe.

Public -> qualquer um pode acessar
Private -> apenas acesso interno
Protected -> sub-classes podem acessar

 

http://php.net/manual/pt_BR/language.oop5.php

Exemplo

Classe Agenda

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Agenda
{
    private $evento;
    private $data;
    private $descricao;
 
		public function setEvento( $evento ) {
			$this->evento = $evento;
		}
		public function getEvento() {
			return $this->evento;
		}
 
		public function setData( $data ) {
			$this->data = $data;
		}
		public function getData() {
			return $this->data;
		}
 
		public function setDescricao( $escricao ) {
			$this->escricao = $escricao;
		}
		public function getDescricao() {
			return $this->escricao;
		}
}

testanto a classe Agenda

1
2
3
4
5
6
7
$agenda = new Agenda();
$agenda->setEvento("Festa dos 100 dias");
$agenda->setData("14/03/2012");
$agenda->setDescricao("A festa mais esperado do ano!!!");
 
 
print_r($agenda);

Imprimir direto pelo PHP

Primeiro você deve configurar o php, abra o arquivo php.ini e descomente a linha a seguir;

1
extension=php_printer.dll

Em seguida reinicie o servidor web.

Crie um arquivo com o nome de teste.txt, e coloque algum texto dentro dele(apenas para testar).
teste.txt

1
estamos testando nosso arquivo teste.txt

O próximo passo é verificar o nome da impressora, a minha esta com o nome de (hplasercolor).

Crie um arquivo com o nome imprimir.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//configure o nome da sua impressora
$printer = "hplasercolor";
if($ph = printer_open($printer))
{
   // Get file contents
//abrindo o arquivo de texto
   $fh = fopen("teste.txt", "rb");
//llendo o arquivo de texto
   $content = fread($fh, filesize("teste.txt"));
   fclose($fh);
 
   // Set print mode to RAW and send PDF to printer
   printer_set_option($ph, PRINTER_MODE, "RAW");
   printer_write($ph, $content);
   printer_close($ph);
}
else "Couldn't connect...";

Para maiores informações visite o site oficial do PHP
http://br2.php.net/manual/pt_BR/book.printer.php

listar os arquivos de um diretorio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
//caminho do diretório
$diretorio_data = "/home/www/data_txt/";
 
$$dir = @opendir($diretorio_data);
$i=0;
while (false !== ($file = readdir($$dir))) {// while pastas
//ignora diretorios
	if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != $dir) { // if pastas
		$i++;
		$indice[$i] = "$file";
		echo $nm_arquivo 	= $indice[$i] = "$file";
	}
} // fecha while

Hoje vou mostrar como fazer upload de arquivos atraves do PHP, para utilizar em outros exemplos que vou postar aqui no blog.

O Upload de arquivos consiste na seleção de um arquivo qualquer no computador do usuário para ser enviado por um formulário HTML, este formulário envia as informações para uma pagina onde copiamos o arquivo do computador local para uma pasta dentro do servidor onde o site está hospedado. Após o upload podemos compactar, renomear, entre muitas outras funções que o PHP oferece.

Crie um arquivo chamado upload.html e coloque dentro o codigo conforme exemplo abaixo.
A action do form esta apontando para o arquivo “upload.php”

1
2
3
4
5
6
7
8
9
10
11
12
<html>
<form id="upload" name="upload" enctype="multipart/form-data" method="post" action="upload.php">
  <p>
    <label>
      <input type="file" name="file" id="file" />
    </label>
  </p>
  <p>
    <input type="submit" name="enviar" id="enviar" value="Enviar arquivo..." />
  </p>
</form>
</html>

Agora vamos criar o arquivo upload.php que fará todo o trabalho.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
//verificamos se o arquivo foi informado
if (isset($_FILES[file])) {
 
$url = "/pasta-uploads/"; //caminho onse será salvo os arquivos
$carregar = $_FILES[file][tmp_name]; //arquivo temporario
$novo_nome = date('Y-m-d')."_".$_FILES[file][name]; //criamos uma variavel com o novo nome do formato AAAA-MM-DD_nome_arquivo
 
      if(move_uploaded_file($carregar,$url)){   //copia o arquivo do computador para o servidor
         rename($url.$carregar, $url.$novo_nome);//renomeia o arquivo
 
        echo "arquivo enviado com sucesso";
      }else {
                echo "falha ao carregar arquivo";
               }
} else {
         echo "Nenhum arquivo foi selecionado!";
         }
 
?>

Para enviar emails atraves do PHP usamos a função mail(), que depende de alguns parametros obrigatorios como Destinatário, Assunto, Mensagem, e outros opcionais como Cabeçalho para dizer o tipo de codificação da mensagem enviada e formato texto ou HTML.

//criamos e atribuimos dados as váriaveis
$remetente = "Da Duder"; //senders name
$email = "email@adress.com"; //senders e-mail adress

$para = "PersonWhoGetsIt@emailadress.com"; //recipient
$mensagem = "The text for the mail..."; //mail body
$assunto = "Subject for reviever"; //subject
$cabecalho = "From: ". $remetente . " <" . $email . ">rn";
//função mail() que envia o email
mail($para, $assunto, $mensagem, $cabecalho);

http://br2.php.net/manual/pt_BR/book.mail.php

Você pode usar para enviar os dados de um formulário e comados HTML na mensagem.
Também poderá implementar com o comando while para envio de email em massa.

Bom dia a todos… hoje vou mostrar como conectar no banco de dados firebird usando PHP.
em alguns passos você podera conectar no firebird.

1° Passo – Instale o servidor do firebird
acesse o site http://www.firebirdsql.org/ e faça download do firebird, fiz testes usando o firebird 1.5, 2.0, e 2.5 e todos funcionaram normalmente.
Após instalar o firebird reinicie o computador.

2° Passo – O segundo passo é configurar o PHP. A biblioteca para conexão com o firebird

Localize o arquivo php.ini dentro do diretório de instalação do servidor web (apache), e em seguida abra usando um editor de texto(notepad, edit plus…).

Encontre a linha ;extension=php_interbase.dll e remova o ponto e vírgula no inicio, salve, feche e reinicie o serviço do servidor web.

Caso não encontre a linha, insira no final do arquivo.

3° Passo – Criar a conexão com o FireBird

//ibase_connect — Abre uma conexão com um banco de dados InterBase
//pode ser colocado o IP, ou nome do computador onde esta o banco de dados

$servidor = '127.0.0.1:C:/diretorio/banco.FDB';

//conexão com o banco, se der erro mostrara uma mensagem.
if (!($dbh=ibase_connect($servidor, 'SYSDBA', 'masterkey')))
		die('Erro ao conectar: ' .  ibase_errmsg());

Fazer uma consulta no banco.

//Instruções SQL
$sql = 'SELECT COLUNA1, COLUNA2 FROM TABELA';

//Executa a instrução SQL
$query= ibase_query ($dbh, $sql);

//gera um loop com as linhas encontradas
while ($row = ibase_fetch_object ($query)) {

    //imprimi as linhas na tela
    echo $row->COLUNA1 . "n";

}

//Libera a memoria usada
ibase_free_result($query);

//fecha conexão com o firebird
ibase_close($dbh);

Um erro muito comum ao tentar fazer a conexão com o firebird é a seguinte mensagem de erro;

“Warning: ibase_connect() [function.ibase-connect]: Unable to complete network request to host “127.0.0.1”. Failed to locate host machine. The specified name was not found in the hosts file or Domain Name Services.”

Para resolver é bem simples, basta inserir 2 linhas no arquivo de configuração de serviços.
Vá ate o diretorio C:WindowsSystem32driversetc e abra o arquivo services, insira no final do arquivo as seguintes linhas

gds_db    		3050/tcp    						#firebird Database
gds_db    		3050/udp    						#firebird Database

Pronto sua conexão podera ser feita com sucesso.

Para saber mais sobre os comandos que podem ser usados acesse:

http://www.php.net/manual/pt_BR/ref.ibase.php

Continuação do artigo sobre conexão com Oracle usando PHP. Vou mostrar como fazer consultas em tabelas, criar variaveis, e usar OCI_NO_AUTO_COMMIT.

//conexão com o Oracle
$conexao = oci_connect('usuario', 'senha', '127.0.0.1/nome_servico');

if (!$conexao) {
$erro = oci_error();
trigger_error(htmlentities($erro['message'], ENT_QUOTES), E_USER_ERROR);
exit;
}

//bloco da consulta SQL
$consulta = "select * from cep_localidade";
$stid = oci_parse($conexao, $consulta) or die ("erro");

//Executa os comandos SQL
$exec= oci_execute($stid);

//defini váriaveis
oci_define_by_name($stid, 'COLUNA1', $VAR1);
oci_define_by_name($stid, 'COLUNA2', $VAR2);
oci_define_by_name($stid, 'COLUNA3', $VAR3);

//Abaixo conta a quantidade de linhas retornada da consulta.
echo $nrows = oci_fetch_all($stid, $results);

oci_free_statement($stid);
//fecha a conexão atual
oci_close($conexao);

Pessoal espero que ajude e tire as duvidas de quem vai começar a usar PHP+ORACLE, é um exemplo bem simples de como fazer uma consulta no banco de dados.

Para usar INSERT, UPDATE OU DELETE use a função OCI_NO_AUTO_COMMIT e valide em seguida.

$exec= oci_execute($stid, OCI_NO_AUTO_COMMIT);
//se encontrar algum erro da um rollback NÃO efetiva a query
if (!$exec) {
    $e = oci_error($stid);
    oci_rollback($conexao);  // rollback changes to both tables
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// COMITA a query
$exec = oci_commit($conexao);
if (!r) {
    $e = oci_error($conexao);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

Hoje vou mostrar como fazer conexão no oracle usando o PHP.

Atualizado em:09/01/2018

Caso não tenha configurado o PHP para suporte com a conexão veja o link abaixo antes de continuar;

Linux:

http://blog.fabianobento.com.br/2012/10/configurando-php-para-suporte-com-oracle-usando-centos-6-3-red-hat-6-3/

Windows:

Para permitir a biblioteca PHP conectar com o Oracle no windows, é necessário instalar o client do Oracle no computador e configurar o arquivo TNSNAMES.ora.

 

1° passo – O primeiro passo é configurar o PHP. As bibliotecas para conexão com o Oracle.

Localize o arquivo php.ini dentro do diretório de instalação do apache, e em seguida abra usando um editor de texto.

Encontre a linha ;extension=php_oci8.dll e remova o ponto e vírgula no inicio.
Encontre a linha ;extension=php_oracle.dll e remova o ponto e vírgula no inicio.

Caso não encontre as linhas insira no final do arquivo.

2° passo – Agora vamos criar a conexão com o Oracle.

Para conectar no oracle usava-se OCILogon que foi substituido por oci_connect a partir da versão 5.1.2 do PHP.
Vou mostrar como usar as 2 maneiras.

//metodo para se conectar usando versão 4 ou anterior do PHP
//depende da instalação do client do oracle e configuração do arquivo TNS
$conexao_antiga = OCILogon("usuario", "senha", "servico");

//metodo usado a partir do PHP 5.1.2
$conexao = oci_connect('usuario', 'senha', '127.0.0.1/nome_servico');

if (!$conexao) {
    $erro = oci_error();
    trigger_error(htmlentities($erro['message'], ENT_QUOTES), E_USER_ERROR);
exit;
}

Modelo de configuração do arquivo TNS.ORA
O arquivo TNSNAMES.ORA armazena as configurações do servidor e nome da instancia do oracle. Abaixo postei um arquivo com duas configurações base produção e base teste.
Lembrando que ao instalar o oracle client em seu computador é criado um arquivo vazio caso seu arquivo TNS esteja em algum endereço da rede é necessário alterar o caminho no registro do windows.
Diretório padrão do arquivo: C:oracleproduct10.2.0client_1networkADMINtnsnames.ora

# TNSNAMES.ORA Network Configuration File: c:oracleora92networkadmintnsnames.ora
# Generated by Oracle configuration tools.

producao =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prod)
    )
  )

teste =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = teste)
    )
  )

Modelo de configuração do arquivo de registro “REGEDIT” indicando o diretorio onde esta o arquivo TNS.
Caso seu arquivo de TNS seja armazenado em outro local é necessário atualizar o registro, alterando o TNS_ADMIN para o novo caminho.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraClient10g_home1]
"TNS_ADMIN"="C:\oracle\product\10.2.0\client_1\network\ADMIN"

[HKEY_LOCAL_MACHINESOFTWAREORACLE]
"TNS_ADMIN"="C:\oracle\product\10.2.0\client_1\network\ADMIN"

Bem pessoal, basicamente é isto espero que ajude. No próximo artigo vou mostrar como fazer uma consulta no DB Oracle.
Um abraço a todos.

Olá pessoal,

O PHP tem uma função que verifica se um arquivo ou diretorio existe.

file_exists — Checa se um arquivo ou diretório existe

pode ser usado em vários casos, como exemplo um upload de imagens e arquivos que há necessidade de checar se a pasta onde serão salvos os uploads existe ou verificar se determinada imagem existe.


$arquivo = '/diretorio/arquivo.txt';

if (file_exists($arquivo)) {
    echo "O arquivo $arquivo existe";
} else {
    echo "O arquivo $arquivo não existe";
}

Em um cadastro de pessoas onde poderá ter ou não uma foto cadastrada.


$foto_funcionario = '/fotos/foto.jpg';

if (file_exists($foto_funcionario)) {
    $imagem = $foto_funcionario;
} else {
    $imagem ='/fotos/sem-imagem.jpg';
}

è so você implementar no seu codigo.

Ate a proxima.