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

infopc

redimencionar imagem antes de fazer upload

18 mensagens neste tópico

Alguem sabe como redimencionar imagens antes de fazer upload, ou seja redimencionar a imagem temporaria k fica em caxe.

brigada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que não falta neste fórum é tópicos sobre o assunto... search it

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ha muitos de como fazelo depois do upload tar feito, disso tb ha muito na net, mas eu queria fazelo antes de o script fazer upload

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Queres redimensionar a imagem no disco do utilizador? Que eu saiba, isso não é possível... E o ficheiro que fica em cache no servidor é após o upload. Quando um upload termina o ficheiro fica na cache do servidor, tu é que tens de o mover manualmente para um directório que queres.

Conclusão: Penso que só podes redimensionar a imagem depois do upload ou então não percebi bem o que queres fazer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o que eu sei:

sei k depois de fazer um multipart/form um ficheiro é carregado directamente para a pasta temporaria do servidor.

e quando utilizamos a função

 move_uploaded_file()

movemos esse ficheiro para uma outra pasta.

estou a testar um site num servidor gratuito o problema é que esse servidor so me deixa ter ficheiros ate 500k.

o que eu quero fazer é criar uma imagem a partir dessa que esta no ficheiro temporario e depois redimencionala e por ela na pasta certa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Redimensionar no disco do utilizador é impossível lol ;) era só modificar ficheiros e arrebentar com aquela treta toda ;)

A única coisa que podes fazer do lado dele são verificações do estilo , se for maior que estas dimensões não permite fazer upload.

Agora resizes só do lado do servidor :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que ele quer é pegar no ficheiro temporário, redimensioná-lo e só depois fazer store dele.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@infopc

Faz de conta que não processas o POST do form após a submissão e imagina que enviaste um ficheiro com 1Mb. O que é que acontece? O ficheiro foi na mesma enviado ou não? Se foi, basta fazeres o resize antes do move_uploaded_file() se mesmo assim não foi, a meio do HTTP POST isso da erro a dizer que o servidor não suporta ficheiros maiores que X, então não tens hipotese em fazer o que queres.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e como faço o resize n encontro nada util no site do php qual é a função assim facilitame a vida na pesquisa

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e como faço o resize n encontro nada util no site do php qual é a função assim facilitame a vida na pesquisa

Tá aí um tópico recente onde foi postada uma class para fazer resize.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

vou ver o post mas n posso usar classes, brigado pessoal se resolver o meu problema digo qquer coisa

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pelo que eu me lembro de ter usado, as libs que vais usar só funcionam com classes xD

ou seja, estás tramado ;)

Se não encontrares nada tens que fazer um convert de OOP para traditional ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

essa classe so imprime no ecra n altera a imagem original lol logo n serve para o efeito (ou eu n sei trabalhar com ela lol)  :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

desenvolvi este codigo dêm ai uma olhadela

<?
$origem  = $_FILES['file']['tmp_name'];
$pasta   = 'imgs/';
$nome    = $_FILES['file']['name'];
$destino = $pasta.$nome;
$img     = ImageCreateFromJpeg($_FILES['file']['tmp_name']);
$wo      = imagesx($img);
$ho      = imagesy($img);

if ($wo>$ho){$wd=640; $hd=480;}
else{$wd=480; $hd=640;}

echo 'largura origem '.$wo.'<br>';
echo 'altura origem '.$ho.'<br>';
echo 'largura destino '.$wd.'<br>';
echo 'altura destino '.$hd.'<br>';

$imgd    = imagecreatetruecolor($wd, $hd);
imagecopyresized ($imgd, $img, 0, 0, 0, 0, $wd, $hd, $wo, $ho);

if(is_file($destino)){
echo 'o ficheiro ja existe';
}
else{
echo 'o ficheiro n existe';
imagejpeg($imgd,$destino);
}
?>

preciso mudar alguma coisa?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim de repente, parece ser isso... Eu já fiz isso que queres fazer no meu script nzFotolog, sempre podes dar uma olhadela ao código a ver como fiz. Foi +- nas linhas do que escreveste ai, mas não posso precisar porque já não me lembro do código e agora não me apetece ir ver.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas, queria utilizar o script atras para redimensionar imagens o dhtmlxVault: http://scbr.com/docs/products/dhtmlxVault/index.shtml

mas n consigo. alguem tem alguma ideia?

<?php
$id  = $_GET['sessionId'];
    $id = trim($id);

    session_name($id);
    session_start();
    $inputName = $_GET['userfile'];
    $fileName  = $_FILES[$inputName]['name'];
$tempLoc   = $_FILES[$inputName]['tmp_name'];

$img = imagecreatefromjpeg($_FILES[$inputName]['tmp_name']);
$wo      = imagesx($fileName);
$ho      = imagesy($fileName);
echo ("<script> window.alert(\"$wo, $ho\") </script>");
if ($wo>$ho){$wd=640; $hd=480;}
else{$wd=480; $hd=640;}

$imgd    = imagecreatetruecolor($wd, $hd);
imagecopyresized ($imgd, $img, 0, 0, 0, 0, $wd, $hd, $wo, $ho);	
    
    echo $_FILES[$inputName]['error'];
    $target_path = 'c:\\';
    $target_path = $target_path . basename($fileName);

$target_path1 = 'c:\\new\\able.jpg'


    if(move_uploaded_file($tempLoc,$target_path))
    {
        $_SESSION['value'] = -1;
    }

imagejpeg($imgd,$target_path1);

?>


0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora