Jump to content
marlone

Cadastrar múltiplas fotos PHP

Recommended Posts

Estou tentando cadastrar multiplas imagens com prevew, mas esta dando erro e não cadastra nenhuma... Alguém pode me ajudar?

 

<?php
include('config/conn.php');
ini_set('memory_limit', '1024MM');

class UploadImagem{
public $width; 
public $height; 
protected $tipos = array("jpeg", "png", "gif","JPEG", "PNG", "GIF");

protected function redimensionar($caminho, $nomearquivo){

list($width_orig, $height_orig, $tipo, $atributo) = getimagesize($caminho.$nomearquivo);

$i = 0;
while($i <= 2000){//looping das resolucoes
		$i += 200;
		$resolucao = $i;
		
		$caminho_novo = $caminho.$resolucao.'/';
		
		$width = $resolucao;
		$height = $resolucao;
			
		if($width_orig > $height_orig){
		$height = ($width/$width_orig)*$height_orig;
		} elseif($width_orig < $height_orig) {
		$width = ($height/$height_orig)*$width_orig;
		}
		$novaimagem = imagecreatetruecolor($width, $height);
		switch($tipo){
		case 1:
		$origem = imagecreatefromgif($caminho.$nomearquivo);
		imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
		imagegif($novaimagem, $caminho_novo.$nomearquivo);
		break;
		case 2:
		$origem = imagecreatefromjpeg($caminho.$nomearquivo);
		imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
		imagejpeg($novaimagem, $caminho_novo.$nomearquivo);
		break;
		case 3:
		$origem = imagecreatefrompng($caminho.$nomearquivo);
		imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
		imagepng($novaimagem, $caminho_novo.$nomearquivo);
		break;
		}  

		imagedestroy($novaimagem);

}

		imagedestroy($origem);

}

protected function tirarAcento($texto){
	$com_acento = array('à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ü','ú','ÿ','À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','O','Ù','Ü','Ú','Ÿ',);
	$sem_acento = array('a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','y','A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N','O','O','O','O','O','0','U','U','U','Y',);
	$final = str_replace($com_acento, $sem_acento, $texto);
	$com_pontuacao = array('´','`','¨','^','~',' ','-');
	$sem_pontuacao = array('','','','','','_','_');
	$final = str_replace($com_pontuacao, $sem_pontuacao, $final);
	return $final;
} 

public function salvar($caminho, $file, $nome_imagem){

	$caminho =  $caminho;
	$file['name'] = $this->tirarAcento(($nome_imagem));//$file['name'] NOME ORIGINAL
	$uploadfile = $caminho.$file['name'];

	$tipo = strtolower(end(explode('/', $file['type'])));
	
	if (array_search($tipo, $this->tipos) === false) {
	$mensagem = "<font color='#F00'>Envie apenas imagens no formato jpeg, png ou gif!</font>";
	return $mensagem;
	}

	else if (!move_uploaded_file($file['tmp_name'], $uploadfile)) {
	switch($file['error']){
	case 1:
	$mensagem = "<font color='#F00'>O tamanho do arquivo é maior que o tamanho permitido.</font>";
	break;
	case 2:
	$mensagem = "<font color='#F00'>O tamanho do arquivo é maior que o tamanho permitido.</font>";
	break;
	case 3:
	$mensagem = "<font color='#F00'>O upload do arquivo foi feito parcialmente.</font>";
	case 4:
	$mensagem = "<font color='#F00'>Não foi feito o upload de arquivo.</font>";
	break;
	} 

	}  else{

	list($width_orig, $height_orig) = getimagesize($uploadfile);

	if($width_orig > $this->width || $height_orig > $this->height){

		$this->redimensionar('./'.$caminho, $file['name']);		
	
	
	}
	$mensagem = "<a href='".$uploadfile."'><font color='#070'>Upload realizado com sucesso!</font><a>";
		}
	} 
}	
for($i = 0; $i < count($foto); $i++) {

	$foto = $_FILES['foto'];  
	
	$tipo = explode('/', $foto['type']);
	
	
	$extensao = $tipo[1];
}	
	if (!file_exists('imagens/')) {
		mkdir('imagens/', 0777, true);
	}	
	
 	$nome_imagem = md5(date('Y-m-d H:i:s')).'.'.$extensao;	
	$i = 0;
	while($i <= 2000){//looping das resolucoes
		$i += 200;
		$resolucao = $i;
		if (!file_exists('imagens/'.$resolucao.'/')) {
			mkdir('imagens/'.$resolucao.'/', 0777, true); 
		}
	}
	
	for($i = 0; $i < count($foto); $i++) {
		
		$upload = new UploadImagem();
		echo $upload->salvar('imagens/', $foto, $nome_imagem[$i]);
	}
		for($i = 0; $i < count($foto); $i++) {

	$result = "INSERT INTO jogos (imagem) VALUES ('$nome_imagem')";
    $resultado = mysqli_query($conn,$result);
	
	echo '<img width="200px" src="imagens/'.$nome_imagem.'">';
		}	
	
	//header('Location: http://www.highflexemborrachados.com.br/sistema/modelo.php');
		
	

	?>

 

Share this post


Link to post
Share on other sites

Qual é o erro?

Share this post


Link to post
Share on other sites

Ative a exibição de erros no PHP conforme na orientação 3:

 

Se mesmo assim não ativar a exibição, modifique no php.ini ou procure pelos logs do servidor.

Share this post


Link to post
Share on other sites
5 minutos atrás, Gabriel Heming disse:

Ative a exibição de erros no PHP conforme na orientação 3:

 

Se mesmo assim não ativar a exibição, modifique no php.ini ou procure pelos logs do servidor.

Dei uma mexida no código e me retornou isso agora.  

 

Warning: explode() expects parameter 2 to be string, array given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72

Warning: end() expects parameter 1 to be array, null given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72
Envie apenas imagens no formato jpeg, png ou gif!
Warning: explode() expects parameter 2 to be string, array given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72

Warning: end() expects parameter 1 to be array, null given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72
Envie apenas imagens no formato jpeg, png ou gif!
Warning: explode() expects parameter 2 to be string, array given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72

Warning: end() expects parameter 1 to be array, null given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72
Envie apenas imagens no formato jpeg, png ou gif!
Warning: explode() expects parameter 2 to be string, array given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72

Warning: end() expects parameter 1 to be array, null given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72
Envie apenas imagens no formato jpeg, png ou gif!
Warning: explode() expects parameter 2 to be string, array given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72

Warning: end() expects parameter 1 to be array, null given in /home/storage/2/9f/7c/highflexemborrachado/public_html/recebe_fotos.php on line 72

Share this post


Link to post
Share on other sites

O erro está bem claro:

Citar

Warning: explode() expects parameter 2 to be string, array given 

 

A função explode espera que o segundo parâmetro seja uma string, foi utilizado um array.

Quado o upload é utilizado como multi files, o array $_FILES fica similar a isso:

Array
(
    [download] => Array
        (
            [name] => Array
                (
                    [file1] => MyFile.txt
                    [file2] => MyFile.jpg
                )

            [type] => Array
                (
                    [file1] => text/plain
                    [file2] => image/jpeg
                )

            [tmp_name] => Array
                (
                    [file1] => /tmp/php/php1h4j1o
                    [file2] => /tmp/php/php6hst32
                )

            [error] => Array
                (
                    [file1] => UPLOAD_ERR_OK
                    [file2] => UPLOAD_ERR_OK
                )

            [size] => Array
                (
                    [file1] => 123
                    [file2] => 98174
                )
        )
)

 

Share this post


Link to post
Share on other sites

Evite duplicar tópicos, o outro foi apagado. Com as informações que tu tem até agora, o que você conseguiu fazer?

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

  • Similar Content

    • By eduardaarosaa
      Olá!!! Gostaria de saber como converter um objeto em array.
      Já tentei usar get_objet_vars e não funcionou ... veio um array vazio 
      Exemplo: array(){
      }
      array(){
      }
      Meu objeto está assim: 
      object(Illuminate\Http\UploadedFile)#205 (7) {
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        bool(false)
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(10) "eliete.jpg"
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(10) "image/jpeg"
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(0)
        ["hashName":protected]=>
        NULL
        ["pathName":"SplFileInfo":private]=>
        string(24) "C:\xampp\tmp\php8467.tmp"
        ["fileName":"SplFileInfo":private]=>
        string(11) "php8467.tmp"
      }
      object(Illuminate\Http\UploadedFile)#211 (7) {
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        bool(false)
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(40) "f114abec-1fe1-4e86-92b0-5b976b4c50c0.jpg"
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(10) "image/jpeg"
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(0)
        ["hashName":protected]=>
        NULL
        ["pathName":"SplFileInfo":private]=>
        string(24) "C:\xampp\tmp\php8468.tmp"
        ["fileName":"SplFileInfo":private]=>
        string(11) "php8468.tmp"
      }
      object(Illuminate\Http\UploadedFile)#212 (7) {
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        bool(false)
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(27) "bitcoin-3125488_960_720.png"
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(9) "image/png"
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(0)
        ["hashName":protected]=>
        NULL
        ["pathName":"SplFileInfo":private]=>
        string(24) "C:\xampp\tmp\php8469.tmp"
        ["fileName":"SplFileInfo":private]=>
        string(11) "php8469.tmp"
      }
      object(Illuminate\Http\UploadedFile)#213 (7) {
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        bool(false)
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(14) "imagem0033.jpg"
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(10) "image/jpeg"
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(0)
        ["hashName":protected]=>
        NULL
        ["pathName":"SplFileInfo":private]=>
        string(24) "C:\xampp\tmp\php8479.tmp"
        ["fileName":"SplFileInfo":private]=>
        string(11) "php8479.tmp"
      }
       
      Obrigada!!!
    • By eduardaarosaa
      Olá!!! Gostaria de saber como converter um objeto em array.
      Já tentei usar get_objet_vars e não funcionou ... veio um array vazio 
      Exemplo: array(){
      }
      array(){
      }
      Meu objeto está assim: 
      object(Illuminate\Http\UploadedFile)#205 (7) {
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        bool(false)
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(10) "eliete.jpg"
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(10) "image/jpeg"
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(0)
        ["hashName":protected]=>
        NULL
        ["pathName":"SplFileInfo":private]=>
        string(24) "C:\xampp\tmp\php8467.tmp"
        ["fileName":"SplFileInfo":private]=>
        string(11) "php8467.tmp"
      }
      object(Illuminate\Http\UploadedFile)#211 (7) {
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        bool(false)
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(40) "f114abec-1fe1-4e86-92b0-5b976b4c50c0.jpg"
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(10) "image/jpeg"
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(0)
        ["hashName":protected]=>
        NULL
        ["pathName":"SplFileInfo":private]=>
        string(24) "C:\xampp\tmp\php8468.tmp"
        ["fileName":"SplFileInfo":private]=>
        string(11) "php8468.tmp"
      }
      object(Illuminate\Http\UploadedFile)#212 (7) {
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        bool(false)
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(27) "bitcoin-3125488_960_720.png"
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(9) "image/png"
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(0)
        ["hashName":protected]=>
        NULL
        ["pathName":"SplFileInfo":private]=>
        string(24) "C:\xampp\tmp\php8469.tmp"
        ["fileName":"SplFileInfo":private]=>
        string(11) "php8469.tmp"
      }
      object(Illuminate\Http\UploadedFile)#213 (7) {
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        bool(false)
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(14) "imagem0033.jpg"
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(10) "image/jpeg"
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(0)
        ["hashName":protected]=>
        NULL
        ["pathName":"SplFileInfo":private]=>
        string(24) "C:\xampp\tmp\php8479.tmp"
        ["fileName":"SplFileInfo":private]=>
        string(11) "php8479.tmp"
      }
       
      Obrigada!!!
    • By RewelB
      Olá, gostaria de saber como faço pra que quando o usuário digite algo em um campo de texto a imagem fique girando. Eu tenho a imagem de uma engrenagem e queria que ela fizesse uma animaçãozinha no estilo da que tem nesse site: http://www.empsis.com.br/. Sou iniciante e peço desculpas se isso for muito simples de fazer. Estou usando PHP, HTML e CSS.
    • By JenneferBarbosa
      Pessoas, sou nova em PHP e queria que vocês me ajudassem com um exemplo. Tenho um array com um token e cada token possui um limite diário de 25 consultas. Então, eu criei 10 tokens para que as consultas sejam 250 consultas por dia. Porém, eu preciso verificar se cada token atingiu o limite de 25 e então partir para outra chave do array. Quando o limite de todos for batido, dizer para o usuário que ele atingiu o limite e que a nova consulta será feita no outro dia. Se alguém tiver como me ajudar com um exemplo. Ficarei muito feliz e grata! 
      $token = [ 'aaaaaaa' , 'bbbbbbb' , 'cccccc' , 'dddddd' , 'eeeeee' , 'fffffff' ];  
    • By drx
      Olá pessoal!
       
      Pergunta:  Dá para desenvolver qualquer tipo de sistema web com WordPress?
      Por exemplo: Quero desenvolver um sistema multinível. É tranquilo?
      Aguardo.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.