Guest --puroossosinistro -- Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 Mandei por form uma imagem só que na hora de verificar largura e altura não ta dando nada.... mesmo sendo maior que o estipulado não está dando erro:// Pegando o nome do arquivo enviado pelo form$arq_nome = $_FILES['arquivo']['name'];// Setando a largura das imagens$arq_larg = 360;// Setando a altura das imagens$arq_alt = 300;// Pegando altura e largura do arquivo$pegando = getimagesize($arq_nome);// Verificando largura da imagemif($pegando[0] > $arq_larg) { echo “A largura da imagem não deve ultrapassar $arq_larg pixels"; } // Verificando altura da imagemif($pegando[1] > $arq_alt) {echo “A largura da imagem não deve ultrapassar $arq_larg pixels"; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 Você já deu echo nas variáveis do array que contêm a largura e altura para ver quais valores elas estão assumindo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest puro osso sinistro Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 Não imprime nada! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 Você deve usar o valor presente no índice tmp_name, não em name, pois tmp_name contém o caminho até o arquivo temporário, que foi enviado.Abraços,Beraldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest puro osso sinistro Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 Beraldo e ESerra.... tentei com os dois:// Pegando o nome do arquivo$arq_nome = $_FILES['arquivo']['name'];// FIM// Pegando o "temp" do arquivo$arq_temp = $_FILES['arquivo']['tmp_name'];usei no getimagesize o $arq_nome e o $arq_temp e não imprime nada....Tipo... dei echo neles e o arquivo está ok... está sendo enviado... porém quando dou echo no getimagesize não aparece nada.echo "$pegando[0] <br>";echo "$pegando[1] <br>";echo "$pegando <br>";O que está errado? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest puro osso sinistro Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 Descobri... as imagens que eu estava upando eram totalmente brancas, ou seja, não havia imagem no arquivo enviado.... tá escrito no php.net:Alguns formatos podem não conter imagens ou conter múltiplas imagens. Nestes casos, getimagesize() não será capaz de determinar o tamanho da imagem. getimagesize() retornará zero para a altura e largura nestes casos. Beraldo e ESerra.... gostaria de saber se há como verificar a resolução em DPI de uma imagem.... tipo se ela é 72 ou 300 dpi.... tem como? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest puro osso sinistro Postado Junho 8, 2007 Denunciar Share Postado Junho 8, 2007 Não... desculpem... continua não funcionando.... saco. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest puro osso sinistro Postado Junho 9, 2007 Denunciar Share Postado Junho 9, 2007 tentei: list($width, $height, $type, $attr) = getimagesize($arq_temp);echo "$width<br>";echo "$height<br>";echo "$type<br>";echo "$attr<br>";e tambem não imprime nada.... por favor ajudem o irmão desamparadoooo! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 puro osso sinistro Postado Junho 9, 2007 Denunciar Share Postado Junho 9, 2007 (editado) Já verifiquei a versão do php do serv e é 4.4.2.... essa função está disponível para (PHP 4, PHP 5)... ou seja, nenhum problema quanto a isso....A função getimagesize funciona quando verifico uma imagem que já está no servidor.... mas não está funcionando com que a imagem que estou upando... POR QUE? Editado Junho 9, 2007 por puro osso sinistro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Junho 9, 2007 Denunciar Share Postado Junho 9, 2007 Aqui funciona perfeitamente:<body> <?php if ($_SERVER['REQUEST_METHOD'] == "POST") { echo "<pre>";print_r($_FILES);echo "</pre>"; echo "<pre>";print_r(getimagesize($_FILES['file']['tmp_name']));echo "</pre>"; } ?> <form method="post" action="" enctype="multipart/form-data"> <input type="file" name="file" /> <br /><br /> <input type="submit" value="Eniar" /> </form> </body>Teste esse código aí e veja se funciona.Abraços,Beraldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --puroossosinistro -- Postado Junho 9, 2007 Denunciar Share Postado Junho 9, 2007 Fala Beraldo... imprime isso:Array( [arquivo] => Array ( [name] => 370por300.jpg [type] => image/pjpeg [tmp_name] => /var/tmp/phphvJBZW [error] => 0 => 20920 )) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Junho 9, 2007 Denunciar Share Postado Junho 9, 2007 Pelo que percebi, você mudou o nome do campo de "file" para "arquivo", então mude esta linha:echo "<pre>";print_r(getimagesize($_FILES['file']['tmp_name]));echo "</pre>";Trqoue aquele "file", em ermelho, por "arquivo", que é o nome do campo que você está utilizando. Veja se assim aparece o array com os dados retornados por getimagesize(). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest puro osso sinistro Postado Junho 9, 2007 Denunciar Share Postado Junho 9, 2007 Fala Beraldo!Eu fiz isso e não imprime nada... pedi para um amigo testar o source no serv dele e FUNCIONOU perfeitamente.... porém só no meu serv NÃO FUNCIONA... no meu ser não tá PEGANDO as ifnromações do GETIMAGE.... verifiquei e a versão do php é compativel e mesmo que precisasse de biblioteca GD (o que não precisa) está habilitado.... então.... porque será que não funciona no meu serv? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --puroossosinistro --
Mandei por form uma imagem só que na hora de verificar largura e altura não ta dando nada.... mesmo sendo maior que o estipulado não está dando erro:
// Pegando o nome do arquivo enviado pelo form
$arq_nome = $_FILES['arquivo']['name'];
// Setando a largura das imagens
$arq_larg = 360;
// Setando a altura das imagens
$arq_alt = 300;
// Pegando altura e largura do arquivo
$pegando = getimagesize($arq_nome);
// Verificando largura da imagem
if($pegando[0] > $arq_larg)
{
echo “A largura da imagem não deve ultrapassar $arq_larg pixels";
}
// Verificando altura da imagem
if($pegando[1] > $arq_alt)
{
echo “A largura da imagem não deve ultrapassar $arq_larg pixels";
}
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.