Jump to content
Fórum Script Brasil
  • 0

Upload de imagem bugado alguém me ajuda !


edsonl2666

Question

Bom galera eu fiz um sistema tava indo tudo ok criando a pasta certinha tudo ok ate quando eu fiz a parte do upload da imagem a imagem fui pra pasta ok mais toda preta num entendi nada porque num deu erro nem um só foi toda preta a imagem acho que troco a imagem que eu mandei pra uma toda preta se alguém souber me ajuda ai por favor que ta dando mo dor de cabeça num acho o que pode ser .

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

/*****************************

IMAGE UPLOAD

*****************************/

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($nome,false);

imagesavealpha($nome,true);

imagecopyresampled($nome, $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);

}

--------------------------------------------------------------

PHP

------------------------------------------------------------------

$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('up_posts',$f);

}

echo '<pre class="debug">';

print_r($f);

echo '</pre>';

}

Link to comment
Share on other sites

  • 0

e erro que esta dando é esse

( ! ) Warning: imagealphablending() expects parameter 1 to be resource, string given in C:\wamp\www\prophp\projeto\dts\outSis.php on line 215

Call Stack

( ! ) Warning: imagesavealpha() expects parameter 1 to be resource, string given in C:\wamp\www\prophp\projeto\dts\outSis.php on line 216

Call Stack

( ! ) Warning: imagecopyresampled() expects parameter 1 to be resource, string given in C:\wamp\www\prophp\projeto\dts\outSis.php on line 217

Call Stack

Link to comment
Share on other sites

  • 0

hum, eu to aprendendo PHP, por isso não sei tanto assim,

não consegui entender muito bem a tua função, mas uma vez fiz um sistema de usuario que tinha a opção de imagens, então tive que fazer o upload

vou colocar aqui, pra você pegar como base, pode te ajudar,

fiz a pagina editar_usuario.php, que mandava para outra pagina para validar a imagem, segue o código de validação que usei...

<?php
    include "conexao.php";
    
    @$id = trim($_POST['id']);
    @$usuario = ltrim($_POST['usuario']);
    @$imagem = trim($_POST['imagem']);
    
    $pasta = 'imagens_users/';
    $tamanho = 1048576;
    $arqSize = $_FILES['imagem']['size'];

    $extensoes = array('jpg', 'png');
    $erro = 0;
    
    $extensao = strtolower(end(explode('.', $_FILES['imagem']['name'])));
    if (array_search($extensao, $extensoes) === false) {
        $msg_erro_img = "Por favor, envie arquivos com as seguintes extensões: jpg, png";
        $erro ++;
    }
    if ($arqSize > $tamanho) {
        $msg_erro_img = "O arquivo enviado e muito grande, envie arquivos de ate 2Mb";
        $erro ++;
    }
    
    if($erro != 0){
        include 'editar_usuario.php';
    }
    else{
        $nome_final_img = $id.'_'.$usuario.'.jpg';        
        move_uploaded_file($_FILES['imagem']['tmp_name'], $pasta . $nome_final_img);    
        $update = mysql_query("UPDATE usuarios SET imagem='$nome_final_img' WHERE id='$id'") or die(mysql_error());
        header('Location: editar_usuario.php');
    }    
?>

esse meu codigo ta funcionando, caso estivesse tudo ok os dados que usuario preencheu, ele movia a imagem para a pasta que criei, e o nome da imagem ficava com o numero do id mais o nome do usuario, por exemplo 1_usuario

Link to comment
Share on other sites

  • 0

Bom galera eu resolvi aqui o erro tava aaqui nessa linha

imagecopyresampled($nova, $img, 0, 0, 0, 0, $width, $height, $x, $y);

em vez de coloca nova tava colocando nome então o sistema num tava criando uma imagem nova tava só criando o nome bom galera eu agradeço a todos ai acima que si pois a me ajuda muitu obrigado de coração e que todos fique com Deus

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...