Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
Big-D

Resize Image no Windows Vista [Resolvido]

Recommended Posts

Big-D

Bom dia,

Eu via PHP consegui que quando se insere uma imagem ele redimensione a imagem e que a guarde a imagem original numa pasta e a redimensionada noutra mas isto num XP.

Passo o exacto documento (paginas web, base de dados, tudo igual) e ele não redimensiona a imagem simplesmente guarda a imagem numa das pastas criadas para ele as guardar e ainda por cima não a mostra no browser.

A minha questão é: Será um bug que o vista tem?

Share this post


Link to post
Share on other sites
helt

Acredito mais que seja um erro no teu código. Podes mostrá-lo?


––––•(-• [ ђєlt ] •-)•––––

Share this post


Link to post
Share on other sites
Big-D

É este o codigo que tou a usar (tanto no XP como no Vista e só funciona no XP):

function.php

<?php function createThumbnail($filename) {  
  
    require 'config.php';  
  
    if(preg_match('/[.](jpg)$/', $filename)) {  
        $im = imagecreatefromjpeg($path_to_image_directory . $filename);  
    } else if (preg_match('/[.](gif)$/', $filename)) {  
        $im = imagecreatefromgif($path_to_image_directory . $filename);  
    } else if (preg_match('/[.](png)$/', $filename)) {  
        $im = imagecreatefrompng($path_to_image_directory . $filename);  
    }  
  
    $ox = imagesx($im);  
    $oy = imagesy($im);  
  
    $nx = $final_width_of_image;  
    $ny = $final_height_of_image;  
  
    $nm = imagecreatetruecolor($nx, $ny);  
  
    imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy);  
    
    if(!file_exists($path_to_thumbs_directory)) {  
      if(!mkdir($path_to_thumbs_directory)) {  
           die("There was a problem. Please try again!");  
      }  
       }  
  
    imagejpeg($nm, $path_to_thumbs_directory . $filename);  
}  ?>

config.php

<?php $final_width_of_image = 150;  
$final_height_of_image = 150;
$path_to_image_directory = 'images/fullsized/';  
$path_to_thumbs_directory = 'images/thumbs/';?>

Share this post


Link to post
Share on other sites
helt

vê as permissões de ambas as pastas que tens no vista. se tiver read only se calhar é esse o problema


––––•(-• [ ђєlt ] •-)•––––

Share this post


Link to post
Share on other sites
Big-D

Eu já tirei o read only nas pastas onde são gravadas as imagens e continua a não dar.

Ele apenas guarda a imagem original e não faz o redimensionamento e nao fazendo isso não guarda a imagem redimensionada na pasta thumbs.

Share this post


Link to post
Share on other sites
helt

É muito esquisito esse teu problema... talvez algo com a pasta temporária, é que no processo de criar as imagens é usada essa pasta... dá uma olhada no php.ini, vê se a pasta temporária está apontada correctamente e se tem os privilégios suficientes..


––––•(-• [ ђєlt ] •-)•––––

Share this post


Link to post
Share on other sites
helt

mete no topo da página ->

error_reporting(E_ALL);

ini_set("display_errors", 1);

pode ser que apareça qq coisa


––––•(-• [ ђєlt ] •-)•––––

Share this post


Link to post
Share on other sites
Big-D

Após meter esse código que me deste helt dá os seguintes erros:

Notice: Undefined index: imagem in C:\wamp\www\Produtos\registoprodutos.php on line 16

Notice: Undefined index: nome in C:\wamp\www\Produtos\registoprodutos.php on line 20

Notice: Undefined index: descricao in C:\wamp\www\Produtos\registoprodutos.php on line 21

Notice: Undefined index: referencia in C:\wamp\www\Produtos\registoprodutos.php on line 22

Notice: Undefined index: preco in C:\wamp\www\Produtos\registoprodutos.php on line 23

Notice: Undefined index: promocao in C:\wamp\www\Produtos\registoprodutos.php on line 24

Notice: Undefined index: imagem in C:\wamp\www\Produtos\registoprodutos.php on line 25

Notice: Undefined index: categoria in C:\wamp\www\Produtos\registoprodutos.php on line 26

ainda pensei que podesse ser algo no php.ini mais propriamente uma coisa lá relativa a GD2 tirei o ";" mas mesmo assim nada.

Share this post


Link to post
Share on other sites
helt

Cada undefined index é uma variável não defendia que tens no teu script. Para resolver isso podes fazer tipo: if(isset($variável)){bla bla variável} e já fica resolvido.

Mas de qq forma não me parece que seja isso que está a afectar a criação das imagens...

Olha, vai de novo ao php,ini e vê se as seguintes variáveis estão optimizadas para o teu script:

file_uploads => tem de estar em 1

upload_tmp_dir => se tiver NULL então se calhar é esse o problema, aponta para uma pasta que exista e com permissões suficientes

upload_max_filesize => vê se o tamanho é o suficiente para as imagens trabalhas


––––•(-• [ ђєlt ] •-)•––––

Share this post


Link to post
Share on other sites
Big-D

Epah, eu estava a ver no php.ini e essas três opções tão operacionais, foi então que comecei a reler isto tudo e reparei que embora eu tivesse mudado a opção read only nas pastas images (onde tão a fullsized e thumbs e nestas também), não me tinha passado pela cabeça ir a pasta tmp, fui lá mudei as permissões e já dá.

Obrigado, pela vossa ajuda, problema resolvido.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.