Ir para conteúdo

POWERED BY:

Arquivado

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

Worn

Salvando imagem

Recommended Posts

Bom estou com os seguintes alertas ao tentar cadastrar uma imagem

 

 

 

XWmXvqT.png

 

 

 

meu código é esse de envio

       
$pasta = './uploads/';
$ano = date('Y');
$mes = date('m');
	if(!file_exists($pasta.$ano)){
	mkdir($pasta.$ano,0755);
	}
	if(!file_exists($pasta.$ano.'/'.$mes)){
	mkdir($pasta.$ano.'/'.$mes,0755);
	}
	$img = $_FILES['thumb'];
	$ext = substr($img['name'],-3);
	$f['thumb'] = $ano.'/'.$mes.'/'.$f['url'].'.'.$ext;
	uploadImage($img['tmp_name'], $f['url'].'.'.$ext, '800', $pasta.$ano.'/'.$mes.'/');
	

          //   create('cre_post', $f);

             
  }

e aonde está alertando o erro fica dessa maneira

function uploadImage($tmp, $nome, $width, $pasta){
$ext = substr($nome,-3);

	switch($ext){
            
	case 'jpg': $img = imagecreatefromjpeg($tmp); break;
	case 'png': $img = imagecreatefrompng($tmp); break;
	case 'gif': $img = imagecreatefromgif($tmp); break;	
	}
	$x = imagesx($img);
	$y = imagesy($img);
	$height = ($width*$y) / $x;
	$nova = imagecreatetruecolor($width, $height);
	
	imagealphablending($nova,false);
	imagesavealpha($nova,true);
	imagecopyresampled($nova, $img, 0, 0, 0, 0, $width, $height, $x, $y);
	
		switch($ext){
		case 'jpg': imagejpeg($nova, $pasta.$nome,100); break;
		case 'png': imagepng($nova, $pasta.$nome); break;		
		case 'gif': imagegif($nova, $pasta.$nome); break;
		}
    imagedestroy($img);
    imagedestroy($nova);
    
}

ao tentar debugar o formulario percebo que a extensão da imagem não está pegando veja

 

[titulo] => fdsaff
[tags] => y43y43y43
[content] => <p>fdgegye</p>
[tamanho] => 20x40
[preco] => 10,30
[quantidade] => 1500
[categoria] => 56
[nivel] => 0
[status] => 0
[tipo] => post
=> fdsaff-2
[thumb] => 2015/06/fdsaff-2.
)

 

banco de dados ta recebendo porém continua sem a extensão

 

hyV0NVo.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dê um print_r em $_FILES e veja o que está sendo retornado. Talvez o upload esteja falhando

 

Para pegar a extensão, não use substr. Use explode e end:

$arr = explode( '.', $nome_arquivo );
$ext = end( $arr );

Isso pegará inclusive extensões com 4 caracteres, como "jpeg"

 

Porém ainda seria mais confiável usar o mime-type em vez da extensão

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.