Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Beraldo

Classe para manipulação de imagens

Recommended Posts

Agora só falta eu implementar um sistema de upload múltiplo pra ficar bem legal o sistema de galeria de fotos! Alguma sugestão?

 

Isto pode ajudar:

http://forum.imasters.com.br/index.php?/topic/266539-upload-multiplo/

 

 

Abraços cara! E mais uma vez, parabéns pelo código! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Valeu. :D

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse tipo de upload múltiplo não serve para um sistema de galeria de fotos, onde tem galeria que vou ter que enviar 100.. 200.. até 1000 fotos de uma só vez. http://forum.imasters.com.br/public/style_emoticons/default/ninja.gif

 

Tem que ser algo do tipo que utilize AJAX.

 

Indica algum que seja fácil de adaptar com essa sua classe de manipulação de imagens? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajax usa requisição http. não muda nada usar ajax ou não. basta usar set_time_limit(0) para desabilitar o limite de tempo de execução do script.

 

Mas abra um tópico no fórum de PHP com essa dúvida, já que não é relacionada ao tema central deste tópico. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, como eu poderia modificar a sua classe para atribuir um novo parâmetro na função 'insertLogo' e na 'createThumb' para determinar um destino das imagens?

 

Por exemplo:

$marcadas = "./fotos/";
$thumbs   = "./fotos/thumbs/";
$ImgHandler->insertLogo($foto,$marcadas);
$ImgHandler->createThumb($foto,$thumbs);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom Beraldo!

 

Vou usar sua classe como base para criar uma outra! Muito legal!

 

Só uma dúvida: o ZIP que contém o código-fonte mais documentação está atualizado com suas modificações?

Tentei copiar diretamente do code, mas não vem indentado corretamente.

 

 

Valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tiago, o link foi atualizado pelo Beraldo.

 

O link para download contém o código atualizado também.

 

Abraços e não deixa de postar o código aqui pra galera ver! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tiago, o link foi atualizado pelo Beraldo.

 

 

O link para download contém o código atualizado também.

 

Abraços e não deixa de postar o código aqui pra galera ver! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Opa! Valew!

 

 

Pode deixar! O código será GNU. ;)

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, como eu poderia modificar a sua classe para atribuir um novo parâmetro na função 'insertLogo' e na 'createThumb' para determinar um destino das imagens?

 

Basicamente, basta modificar o método randName(), para retornar um diretório diferentes, não dirname( $filename )

Mas da para melhorar, deixando randName retornando apenas o nome do arquivo e criar um método para definir uma propriedade de classe que armazene o diretório de destino.

 

Só uma dúvida: o ZIP que contém o código-fonte mais documentação está atualizado com suas modificações?

Tentei copiar diretamente do code, mas não vem indentado corretamente.

 

Está atualizado sim.

 

E esse BBCode da versão 2.3 do IPB está meio ruim mesmo. A identação fica péssima ao copiar o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, dá pra você implementar isso do diretório de destino das imagens? http://forum.imasters.com.br/public/style_emoticons/default/innocent.gif

 

Não tenho idéia de como mecher com PHP-OO, então não quero bagunçar o código pra me dar dor de cabeça depois. http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow cara, dá essa força aí nisso. Está praticamente só faltando esse detalhe pra essa classe ficar 100% adaptável a qualquer sistema, inclusive o meu²³.

 

Mas analisando essa classe, eu já aprendi muita coisa sobre OO em PHP.

 

Valeu! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ae Beraldo, beleza?

Eu estou atraz de um upload de img e vi a sua classe aqui.

 

Como faço para implementar isso no envio?

estou tentando aqui mas não estou obtendo sucesso, pode me ajudar?

vlww

 

<?php
include ("../include/conexao.php");
require_once "class.ImgHandler.php";

if($_GET['acao']=="upload")
{
	$img 		= $_POST['image']; // foto que deverá ser salva/redimensionada
$ImgHandler = new ImgHandler();
$foto 		= $ImgHandler->saveImg($img);
$ImgHandler->createThumb($foto);
}

?>
<form id="frm" name="frm" enctype="multipart/form-data" method="post" action="<?=$PHP_SELF?>?acao=upload">
                     <table width="95%" border="0" cellspacing="3">
                       <tr>
                         <td class="titulos">Cadastrar Pesquisador</td>
                       </tr>
                       <tr>
                         <td height="11"></td>
                       </tr>
                       <tr>
                         <td height="26" class="subtitulos">Foto: </td>
                       </tr>
                       <tr>
                         <td>
                           <input type="file" name="image" id="image" />
                         </td>
                       </tr>
                       <tr>
                         <td height="27" valign="top">
                           <input name="submit" type="submit" class="bt" value="Cadastrar" id="submit" />

                         </td>
                       </tr>                        
                     </table>
                     </form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

use $_FILES em vez de $_POST para resgatar o path do arquivo enviado

 

Por padrão, a classe gera as imagens no mesmo diretório da imagem original. Nesse caso, vocÊ está gerando no /tmp, onde fica os arquivos enviados por formulários

 

Mova a imagem para outro diretório ou mude o código, para salvar as fotos num outro diretório

Compartilhar este post


Link para o post
Compartilhar em outros sites

use $_FILES em vez de $_POST para resgatar o path do arquivo enviado

 

Por padrão, a classe gera as imagens no mesmo diretório da imagem original. Nesse caso, vocÊ está gerando no /tmp, onde fica os arquivos enviados por formulários

 

Mova a imagem para outro diretório ou mude o código, para salvar as fotos num outro diretório

 

É ja pus $_FILES e ainda assim da erro, pq ele ta lendo como string.

 

Se pode me auxiliar onde mudar?

vlw Beraldo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que erro? Poste a mensagem?

 

 

Para implementar a criação de imagens em determinados diretórios, você pode criar uma propriedade de classe que armazena o destino das imagens e inserir esse valor nos métodos saveImg() e createThumb()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warning: getimagesize(logo.png) [function.getimagesize]: failed to open stream: No such file or directory in /home/thiagole/public_html/sites/geoppol/2010/admin/galeria/class.ImgHandler.php  on line 129

Warning: getimagesize(logo.png) [function.getimagesize]: failed to open stream: No such file or directory in /home/thiagole/public_html/sites/geoppol/2010/admin/galeria/class.ImgHandler.php on line 273

Warning: copy(logo.png) [function.copy]: failed to open stream: No such file or directory in /home/thiagole/public_html/sites/geoppol/2010/admin/galeria/class.ImgHandler.php on line 140

Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in /home/thiagole/public_html/sites/geoppol/2010/admin/galeria/class.ImgHandler.php on line 213

Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in /home/thiagole/public_html/sites/geoppol/2010/admin/galeria/class.ImgHandler.php on line 452

Warning: call_user_func(imagecreatefrom) [function.call-user-func]: First argument is expected to be a valid callback in /home/thiagole/public_html/sites/geoppol/2010/admin/galeria/class.ImgHandler.php on line 234

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/thiagole/public_html/sites/geoppol/2010/admin/galeria/class.ImgHandler.php on line 239

Warning: call_user_func(image) [function.call-user-func]: First argument is expected to be a valid callback in /home/thiagole/public_html/sites/geoppol/2010/admin/galeria/class.ImgHandler.php on line 253

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/thiagole/public_html/sites/geoppol/2010/admin/galeria/class.ImgHandler.php on line 256

 

Tipo eu usando files realmente não funcioona, só se eu deixar o nome da imagem tipo $img = 'logo.png';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Array
(
   [image] => Array
       (
           [name] => ninfeias.jpg
           [type] => image/jpeg
           [tmp_name] => /tmp/phpHoHvr4
           [error] => 0
           [size] => 83794
       )

)

 

abaixo aparecer akele erro ae de cima!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o seu problema é que a logomarca não está na mesma pasta que o arquivo da classe. Bota a logomarca lá com o nome "logo.png".

 

Se você tiver que utilizar uma logo que está fora desta pasta, você tem que alterar o código na classe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce tem que usar o índice tmp_name de $img para pegar o path no diretório temporário.

 

depois use move_uploaded_file para mover para um local fixo

 

só depois chame os métodos da classe.

 

Ou implemente um setPath(), como sugeri no post anterior

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.