Arquivo da tag: php

PHP charset problems

Post rápido para um teste rápido.

Estava fazendo um formulariozinho pão-com-ovo aqui só para relembrar o básico do básico do PHP (post depois), porque eu fui criada a CodeIgniter, né? Programadora criada pela vó.
Acontece que o primeiro problema que eu sempre tive fazendo um negocinho rápido em PHP é o charset que fica todo cagado.

Resolução simples:

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />

Já aproveitem o som também:

Ajudando o @unaghii – Part PHP

Como quando era JS estava travando tudo para nosso caso, criamos o .zip no servidor e forçamos o download. Utilizamos o ZipArchive olha que easy.

if($_SERVER['REQUEST_METHOD'] == "POST"){
	$files = $_POST['imagens-malucas'];
 
	$zip = new ZipArchive();
        //Gera o nome do arquivo com o caminho fisico completo
	$filePath = TEMPLATEPATH . "/" . uniqid("") . ".zip";
 
	if($zip->open($filePath, ZIPARCHIVE::CREATE) == TRUE){
		foreach($files as $file){
                        //O $file deve ser o caminho físico do arquivo
			$zip->addFile($file, basename($file));
		}
 
		$zip->close();
 
		//Força o download
		header('Content-Type: application/zip');
		header('Content-Disposition: attachment; filename="'.basename($filePath).'"');
		header('Content-Length: ' . filesize($filePath));
		readfile($filePath);
		exit;
	} 
}

Vale lembrar que o codigo acima foi feito no WordPressa, é possivel que tenha funcoes especificas dele e não do PHP, não manjo muito (TEMPLATEPATH tenho certeza que é do WP eeheh).
E ha! Não esquece de deletar os arquivos depois, senão vai explodir seu disco rigido. 🙂

Cronnix + PHPzito: crontab para mac os – emails agendados

Sou leite com pera, ja disse e repito. Estou acostumada a pensar em programar para Windows e suas molezinhas …
Estava aqui, meio desmotivada da vida e resolvi fazer um script que envia email para convidar formalmente a maravilinda @CrisFSantana. Para dar um temperinho bacana (e deixar rolando na minha maquina), resolvi desenvolver para hospedar no mac os.

Primeira dúvida: eu usaria um Windows Service para ficar enviando emails de acordo com a configuração que eu fizesse. E no linux? O que fazer?
CRONTAB “é um programa do Unix que edita o arquivo onde são especificados os comandos a serem executados e a hora e dia de execução pelo cron, um programa que executa comandos agendados nos sistemas operacionais do tipo Unix (como o Linux ou o MINIX, por exemplo). O cron se encarregará de verificar a hora e determinar se existe ou não algum programa a ser rodado. Caso exista ele o rodará na hora e data solicitada.”

Maravilha. E para o mac? Tem algum frontend para me dar um helpinho?
Cronnix. É bem intuitivo.

Para mandar email, fiz um codigo php e executo via linha de comando. Como queria autenticar, usei a biblioteca PHPMailer que deixa o código bem limpinho, uma lindeza.

  include("PHPMailer_5.2.4/class.phpmailer.php");
  include("PHPMailer_5.2.4/class.smtp.php");
  $cumprimentos = array(
	0 => 'Oi',
	1 => 'Olá',
	2 => 'Hello world'
  );
 
  $mail = new PHPMailer(true); 
  $mail->IsSMTP();
  $mail->IsHTML(true);
 
  try {    
    $mail->Host = "smtp.gmail.com";
    $mail->SMTPAuth = true; 
	$mail->SMTPSecure = 'ssl';
	$mail->Port = 465; 
    $mail->Username = "EMAIL@gmail.com";
    $mail->Password = "SENHA";
    $mail->SetFrom('REMETENTE@gmail.com', 'Leticia Verta');
	$mail->AddAddress('DESTINATARIO@gmail.com');
    $mail->Subject = 'SCRIPT DO DEMO';
    $mail->Body = $cumprimentos[rand(0, (count($tratamentos) - 1))] . '. Beijoka!';  
    $mail->Send();
 
    echo "Mensagem enviada.";
  } catch (phpmailerException $e) {
    echo $e->errorMessage();
 
  } catch (Exception $e) {
    echo $e->getMessage();
  }

Obs. Para testar no xampp a conexao com o Gmail precisei habilitar a extensão php_openssl.dll no php.ini.