Sistema de redimensionar imagens com zip e Pic

Postado por: Anderson Custódio de Oliveira em

Vamos a um exemplo simples de como usar o Pic no desenvolvimento de sistemas, não esqueça de verificar se o PHP está com suporte para ZIP.

No exemplo abaixo você terá um formulário onde escolhe o nome da pasta e um arquivo zip com fotos, o sistema irá criar a pasta com o nome escolhido, redimensionar as fotos pra um tamanho “médio” salvar na pasta media e repetirá processo na pasta pequena só que a imagem ficará bem menor e sem logo.

Você pode usar o seguinte logo como exemplo, é só salvar na mesma pasta do sistema com o nome logo.png: http://img191.imageshack.us/img191/5952/logounn.png

< ?php
include 'pic/pic.class.php';

$zip = new ZipArchive;
$image = new Pic;

if (isset($_POST['enviar'])) {

	if ($zip->open($_FILES['fotos']['tmp_name'])) {
		$zip->extractTo('./');

		for($i = 0; $i < $zip->numFiles; $i++) {
			if ($image->open($zip->getNameIndex($i))) {
				$image->photo('width:600px;height:400px;overflow:hidden;');
				$image->layer('logo.png', 'right:10px;bottom:10px;opacity:90;');
				$image->save($_POST['pasta'] . '/media/' . ($i + 1) . '.jpg');

				$image->reset(); //reseto as mudanças para o thumbnail ficar sem logo
				$image->thumbnail('width:128px;height:128px;left:auto;');
				$image->save($_POST['pasta'] . '/pequena/' . ($i + 1) . '.jpg');

				$image->clear();
				$image->delete();
			}

			else
				unlink($zip->getNameIndex($i));
		}

		unset($_FILES['fotos']['tmp_name']);

		echo "ok";
	}
	else
		echo "inválido";

	$zip->close();
}
?>
<form method="post" enctype="multipart/form-data">
	<fieldset>
		<legend>Envie suas fotos zipadas</legend>
		<label>Pasta: <input type="text" name="pasta"/></label>
		<label>Fotos: <input type="file" name="fotos"/></label>
	</fieldset>
	<input type="submit" name="enviar" value="Enviar"/>
</form>

Com isso você tem uma boa base para criar um sistema de fotos bem bacana. :)

Posts Relacionados

Confira também outros artigos interessantes postados aqui no blog.

Gostou desse post?

Assine o nosso Feed RSS, siga-nos no Twitter, ou simplesmente nos recomende a seus amigos!

One Response to “Sistema de redimensionar imagens com zip e Pic”

  1. [...] This post was mentioned on Twitter by Pinceladas da Web and Abraão Levi, ac. ac said: RT @pinceladasdaweb: Sistema para redimensionar imagens com ZIP e a Classe Pic: http://migre.me/3MEVV via @acustodioo [...]

Leave a Reply