O CÓDIGO:
function enviaEmailAnexo($emailFrom, $titulo, $mensagem, $emailTo, $cc = '', $bcc = '', $arquivo, $pasta) {
if (!$arquivo) return false;
$urlArquivo = $pasta.$arquivo;
$fp = fopen($urlArquivo,"rb");
$anexo = fread($fp,filesize($urlArquivo));
$anexo = base64_encode($anexo);
fclose($fp);
$anexo = chunk_split($anexo);
$boundary = "XYZ-".date("dmYis")."-ZYX";
$quebra = (strpos($_ENV['SERVER_SOFTWARE'], "Microsoft") === false)?"\n":"\r\n";
$mens = "--$boundary".$quebra;
$mens .= "Content-Transfer-Encoding: 8bit".$quebra;
$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"".$quebra.$quebra; //plain
$mens .= $mensagem.$quebra;
$mens .= "--$boundary".$quebra;
$mens .= "Content-Type: ".mime_content_type2($arquivo).$quebra;
$mens .= "Content-Disposition: attachment; filename=\"".$arquivo."\"".$quebra;
$mens .= "Content-Transfer-Encoding: base64".$quebra.$quebra;
$mens .= $anexo.$quebra;
$mens .= "--$boundary--".$quebra;
$headers = "MIME-Version: 1.0".$quebra;
$headers .= "From: ".$emailFrom.$quebra;
$headers .= "Reply-To: ".$emailFrom.$quebra;
$headers .= "Return-Path: ".$emailFrom.$quebra;
$headers .= "Message-ID: <".time()." TheSystem@".$_SERVER['SERVER_NAME'].">".$quebra;
$headers .= "X-Mailer: PHP v".phpversion().$quebra;
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"".$quebra;
$headers .= "$boundary".$quebra;
if (!mail($emailTo, $titulo, $mens, $headers)) return false;
return true;
}
O USO:
enviaEmailAnexo($emailFrom, $titulo, $mensagem, $emailTo, $cc = '', $bcc = '', $arquivo, $pasta);
hasta!
terça-feira, 29 de junho de 2010
segunda-feira, 28 de junho de 2010
Como remover registros duplicados no MySQL
Quem nunca teve este problema?
Pois é.
Vamos a solução:
O CÓDIGO:
ALTER IGNORE TABLE dups ADD UNIQUE INDEX dupidx (dup_fld1 [, dup_fldx]);
ALTER TABLE dups DROP INDEX dupidx;
A EXPLICAÇÃO:
É criado um índice temporário (dupidx) baseado nos campos desejados ( dup_fld1 [, dup_fldx] ) que exclui todos os registros duplicados da tabela (dups). Após a "limpeza", o índice é excluido.
hasta!
Pois é.
Vamos a solução:
O CÓDIGO:
ALTER IGNORE TABLE dups ADD UNIQUE INDEX dupidx (dup_fld1 [, dup_fldx]);
ALTER TABLE dups DROP INDEX dupidx;
A EXPLICAÇÃO:
É criado um índice temporário (dupidx) baseado nos campos desejados ( dup_fld1 [, dup_fldx] ) que exclui todos os registros duplicados da tabela (dups). Após a "limpeza", o índice é excluido.
hasta!
quarta-feira, 23 de junho de 2010
Formatação de Moeda JavaScript (R$)
O CÓDIGO:
function moeda(valor, casas, separdor_decimal, separador_milhar){
var valor_total = parseInt(valor * (Math.pow(10,casas)));
var inteiros = parseInt(parseInt(valor * (Math.pow(10,casas))) / parseFloat(Math.pow(10,casas)));
var centavos = parseInt(parseInt(valor * (Math.pow(10,casas))) % parseFloat(Math.pow(10,casas)));
if(centavos%10 == 0 && centavos+"".length<2 ){
centavos = centavos+"0";
}else if(centavos<10){
centavos = "0"+centavos;
}
var milhares = parseInt(inteiros/1000);
inteiros = inteiros % 1000;
var retorno = "";
if(milhares>0){
retorno = milhares+""+separador_milhar+""+retorno
if(inteiros == 0){
inteiros = "000";
} else if(inteiros < 10){
inteiros = "00"+inteiros;
} else if(inteiros < 100){
inteiros = "0"+inteiros;
}
}
retorno += inteiros+""+separdor_decimal+""+centavos;
return retorno;
}
O USO:
function moeda(valor, casas, separdor_decimal, separador_milhar){
var valor_total = parseInt(valor * (Math.pow(10,casas)));
var inteiros = parseInt(parseInt(valor * (Math.pow(10,casas))) / parseFloat(Math.pow(10,casas)));
var centavos = parseInt(parseInt(valor * (Math.pow(10,casas))) % parseFloat(Math.pow(10,casas)));
if(centavos%10 == 0 && centavos+"".length<2 ){
centavos = centavos+"0";
}else if(centavos<10){
centavos = "0"+centavos;
}
var milhares = parseInt(inteiros/1000);
inteiros = inteiros % 1000;
var retorno = "";
if(milhares>0){
retorno = milhares+""+separador_milhar+""+retorno
if(inteiros == 0){
inteiros = "000";
} else if(inteiros < 10){
inteiros = "00"+inteiros;
} else if(inteiros < 100){
inteiros = "0"+inteiros;
}
}
retorno += inteiros+""+separdor_decimal+""+centavos;
return retorno;
}
O USO:
moeda(1234.5,2,',','.');
// 1.234,50
Assinar:
Postagens (Atom)