Ir para conteúdo

POWERED BY:

Arquivado

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

Fagner

Gerando thumbs sobre condição

Recommended Posts

Quero gerar thumbs usando o codigo abaixo na condição da figura buscada começar com um determinado nome exemplo no diretorio tenho big_foto01.jpg e thumb_foto01.jpg quero que a condição faça com que seje gerado apenas a thumb do arquivo que contiver a palavra "big" no inicio.

 

CODIGO

==================

$handle = opendir($dir); $ext = "jpg"; $indice = 0; $ipp = 12; while (false !== ($file = readdir($handle)))  {    $pathdata = pathinfo($file);    if (!is_dir($file) && ($pathdata["extension"] == strtolower($ext)) || ($pathdata["extension"] == strtoupper($ext)))     {        $imagens[$indice] = $file;        $indice++;     }}$pagina = 1;if ($_GET['pg'])   $pagina = $_GET['pg'];$paginas = ceil(count($imagens) / $ipp);$inicio = $pg * $ipp;for ($i = $inicio; $i < ($inicio + $ipp); $i++)if($imagens[$i] != ""){   $imagem = "$dir/$imagens[$i]"; // Tipo: JPG   $thumbnail = explode('.', $imagem);   $thumbnail = $thumbnail[0]."_thumbnail.jpg";   $x = 70; // Largura   $y = 52; // Altura   $img_origem = ImageCreateFromJPEG($imagem);   $origem_x = imagesx($img_origem); // Largura   $origem_y = imagesy($img_origem); // Altura   if($origem_x > $origem_y) { // Se a largura for maior que a altura       $final_x = $x; // A largura será a do thumbnail       $final_y = floor($x * $origem_y / $origem_x); // A altura é calculada       $f_x = 0; // Colar no x = 0       $f_y = round(($y / 2) - ($final_y / 2)); // Centralizar a imagem no meio y do thumbnail    } else { // Se a altura for maior ou igual à largura       $final_x = floor($y * $origem_x / $origem_y); // Calcula a largura       $final_y = $y; // A altura será a do thumbnail       $f_x = round(($x / 2) - ($final_x / 2)); // Centraliza a imagem no meio x do thumbnail       $f_y = 0; // Colar no y = 0    }    $img_final = ImageCreateTrueColor($x,$y);    ImageCopyResized($img_final, $img_origem, $f_x, $f_y, 0, 0, $final_x, $final_y, $origem_x, $origem_y);    ImageJPEG($img_final, $thumbnail);    ImageDestroy($img_origem);    ImageDestroy($img_final);?>      <a href="zoom.php?dir=<? echo "$dir";?>&foto=<? echo "$imagens[$i]";?>" target="exibe_foto">       <img src="<? echo "$thumbnail";?>" hspace="1" vspace="1" border="1"></a>       <? }?>

Muitissimo obrigado pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei bem onde está o nome da imagem, mas por exemplo, se estiver nesta variável $img pode usar assim:

 

$img="big_001.jpg";if(substr($img,0,3)=='thu') {  echo "eh thumb";} else {  echo "nao eh thumb";}

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza agora funfa uma ultima duvida esse codigo verifica somente as tres primeiras letras do arquivo, tipo nao teria como ele ler todo o nome do arquivo e vericar o nome contiver algo com thumbs ele nao escreve senao escreve.Obs. so chato neh.. puts.. :lol: B) :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas..se você quer gerar apenas dos arquivos que começam com "big"não é mais simples usar uma condição comparando o "big" ??$img="big_001.jpg";if(substr($img,0,3)=='big') { // gera o thumb}

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas..se você quer gerar apenas dos arquivos que começam com "big"não é mais simples usar uma condição comparando o "big" ??$img="big_001.jpg";if(substr($img,0,3)=='big') { // gera o thumb}

pois é... eu também acho q vai complicar.
$img="big_001.jpg";if(substr($img,0,3)=='thu') { echo "eh thumb";} else { echo "nao eh thumb";}

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra q complicar, cria uma pasta thumb dentro das imagens originais... ambas terao o mesmo nome... so basta linkar os thumbs na pasta e o original na raiz...pra q ficar usando if's, isso pode funcionar de um jeito, de outro n.. sempre precisara de remendos... n vale complicar o codigo... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

verdade eu faço assim como o keitaro falouMas o Fagner descreveu que quer tudo no mesmo diretório.Pelo menos foi o que eu entendi.Bom.. o cara é quem decide.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você além de guardar os arquivos em pastas separadas (para uma melhor organização), fica fácil também de inserir no próprio código de inserção ou atualização de imagens a verificação da existência de um arquivo com o mesmo nome.Desta forma você terá economia em disco sem se preocupar em mais tarde ter que selecionar o(s) arquivo(s) órfãos e apagá-los

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.