PHP (Perl Hypertext Preprocessor) é uma linguagem que possibilita a criação de sites dinâmicos. Essa linguagem é interpretada e executada no servidor e, devido a isso, é possível a interação dessa linguagem com bancos de dados e outras aplicações existentes no servidor.
Qualquer aplicativo feito em Perl pode também ser feito em PHP e uma das características mais utilizadas é a sua interação com o banco de dados MySQL. Na Digiweb, é possível também utilizar o PHP com bancos de dados PostGreSQL.
Atualmente, a versão do PHP na Digiweb está em 4.4.4. Para contas Linux, o PHP pode ser usado sem necessidade de ser habilitado. Ele já vem como padrão.
O PHP é um software open-source, ou seja, é gratuito. Há comunidades no mundo todo que contribuem para o aprimoramento desse software. Apesar disso, existe um site oficial para ele, cujo endereço é www.php.net
Além de ser um software livre, o PHP oferece diversas opções de configuração. Elas variam de acordo com as necessidades de quem as usa. Além das funções de conexão aos bancos MySQL e PostGreSQL, mostradas em outras seções de Ajuda, exemplificamos abaixo códigos para algumas outras funções mais comuns do PHP:
Envio de mensagens através da função mail()
O PHP envia e-mails através da seguinte linha de comando:
<?
mail("destinatario@dominio.com.br", "Assunto", "Texto", "From: seusite@dominio.com.br");
print "Mensagem enviada com sucesso!";
?>
NOTA: É possível adicionar outros "headers", ou cabeçalhos, à função mail(); além do "From: " como por exemplo:
Content-type: Envio de mensagens em HTML
Cc: Envio de cópia das mensagens
Bcc: Envio de cópia oculta das mensagens
Envio de mensagens em html através da função mail()
Para fazer com que o corpo da mensagem chegue em formato HTML, utilize o seguinte exemplo em seu código:
<?
/* Destinatário */
$to = "Nome <destinatario@dominio.com.br>" . ", " ;
$to .= "Nome <destinatario@dominio.com.br>";
/* Assunto */
$subject = "Teste HTML";
/* Mensagem */
$message = '
<html>
<head><title>http://www.digiweb.com.br</title></head>
<body>
<p>Esse email é um teste enviado no formato HTML via PHP</p>
<table>
<tr>
<th bgcolor="#FF6666">Digiweb, o endereço do seu site</th>
</tr>
</table>
</body>
</html>
';
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: Eu <seusite@dominio.com.br>\n";
$headers .= "Cc: Nome <copia@dominio.com.br>\n";
$headers .= "Bcc: Nome <copia2@dominio.com.br>\n";
/* Enviando a mensagem */
mail($to, $subject, $message, $headers);
print 'Mensagem Enviada com Sucesso';
?>
Upload de Arquivos
Para que funcione, o processo será feito em dois arquivos: um em HTML e outro em PHP.
HTML > upload.html
html>
<head>
<script language="JavaScript">
<!--
function teste(){
if (document.upload.arquivo.value=="") {
alert("Arquivo para upload não informado!")
document.upload.arquivo.focus()
return false
}
}
//-->
</script>
</head>
<body>
<h2>Exemplo de Upload</h2><br>
<form name="upload" action="upload.php" method="post" enctype="multipart/form-data" onsubmit="return teste()">
<input type="file" name="arquivo" size="60">
<br>
<input type="submit" name="enviar" value="Arquivo transferido!">
</form>
</body>
</html>
PHP > upload.php
<?php
/*Recebe arquivo via files */
$arquivo = $_FILES['arquivo'];
/*Define tamanho máximo do arquivo */
$tamanho_maximo_arquivo = 1024000;
/*Define extensões permitidas*/
/*Para adicionar extensões apos o fim das aspas duplas adicione virgula e coloque a extensão ente aspas duplas (".exe")*/
$extensoes_arquivo = array(".jpg",".gif",".bmp",".ppt",".xls",".zip");
/*Define o caminho para onde será feito o upload */
$caminho = "/www/seulogin/upload/arquivos/";
$caminho = $caminho.$_FILES['arquivo']['name'];
/*verifica se o arquivo existe */
if (isset($arquivo)) {
/*se o arquivo realmente existir faço processo de upload */
/*verifico se arquivo se enquadra no tamanho maximo permitido */
if($_FILES['arquivo']['size'] > $tamanho_maximo_arquivo) {
print "Não posso enviar arquivo. O tamanho máximo do arquivo é de: $tamanho_maximo_arquivo MB. Por favor tente diminuir o tamanho do arquivo.";
} else {
/*Verifica se a extensão é permitida */
foreach ($extensoes_arquivo as $key => $extensão_valida) {
if (eregi("$extensão_valida$", $_FILES['arquivo']['name'])) {
$valido .= 1;
} else {
$valido .= 0;
}
}
/* Se a extensão é permitida faço o upload */
if($valido > 0) {
/*Envia o arquivo para o diretorio */
$envio_arquivo = copy($_FILES['arquivo']['tmp_name'],$caminho);
/*Verifica se ocorreu tudo certo no envio de arquivo */
if($envio_arquivo == true) {
print "Arquivo enviado com sucesso.";
} else {
print "Ocorreu um erro enquanto tentava enviar:". $_FILES['arquivo']['name']. " Por favor verifique se $caminho tem permissão para receber o arquivo.";
}
} else {
print "Por favor, verifique se a extensão do arquivo é permitida.";
}
}
} else {
/*se o arquivo nao existir exibe erro que arquivo não foi enviado */
print "Arquivo não foi enviado, por favor, tente novamente.";
}
?>
OBSERVAÇÕES:
Em nossos servidores, o limite máximo de upload é de até 10 Mb.
No arquivo upload.php, existe uma variável onde é definido qual
diretório receberá os arquivos. Neste exemplo, definimos o diretório arquivos,
dentro de upload em public_html. Outros diretórios
podem ser escolhidos, desde que seja feita a alteração neste arquivo.
Para que seja possível o upload desses arquivos no diretório em que você especificou
em seu código, é preciso que o diretório tenha permissão de gravação (chmod 777).
É possível aplicar essa permissão através do Gerenciador de Arquivos do
seu Gerenciador de Contas (acessível por http://gerenciador.seudominio.com.br).
Atualizações de versões do PHP
Como todo software, o PHP é frequentemente atualizado pela comunidade mantenedora desse software livre. O objetivo é a correção de bugs, falhas de segurança e melhorias nas funções que já existem.
Tais atualizações alteram propriedades do PHP que podem prejudicar o desempenho de scripts que se encontram funcionais. Isto significa que pode ocorrer de funções presentes numa versão podem ou funcionar diferente ou serem descontinuadas ou substituídas em uma versão mais atual. Isso pode fazer com que algumas partes de determinados websites deixem de funcionar.
A Digiweb tem sempre a preocupação de atualizar as versões dos programas de modo que estes não tragam problemas de segurança ao servidor ou seus usuários. Quando é sabido que uma atualização do PHP terá grande impacto sobre o funcionamento de sites que usam esse software, os clientes serão avisados com antecedência.