Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos_imasters

criando sistema de uplaud de imagens

Recommended Posts

bom gente queria enteder aqui como faz sistema de uplaud de imagens

 

bom entao vamos lá

 

<?
$diretorio = "fotos/"; ?>

 

o que faço agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

Bem segue o link com a função que faz o upload

 

http://php.net/manual/pt_BR/function.move-uploaded-file.php

 

Existem N meios de realizar tal upload e muitos códigos pronto.

 

Dois exemplos:

http://www.rmonte.com/tecnologia/upload-de-imagem-com-php/

http://www.revistaphp.com.br/artigo.php?id=70

 

Tenta aí, se não conseguir posta o código, que aí sim a galera ira conseguir lhe ajudar.

 

Atenciosamente,

Uerlen

Compartilhar este post


Link para o post
Compartilhar em outros sites

rohde se tu não tem melhor pra escreve então não escreva niguem tah te obrigado a respoder.

 

Uerlen Santos ate dei conta de fazer só que na hora de implata no meu ajax não pega de jeito nenhum veja.

 

 

<?
$diretorio = "images/";
$tamanho_maximo = "350000";
$nome_arquivo = $_FILES['foto']['name'];
$temporario_arquivo = $_FILES['foto']['tmp_name'];
$tipo_arquivo = $_FILES['foto']['type'];
$tamanho_arquivo = $_FILES['foto']['size'];

if(($tipo_arquivo != 'image/jpeg')
AND ($tipo_arquivo != 'image/gif')
AND ($tipo_arquivo != 'image/png'))
{echo "Formato inválido"; }
elseif($tamanho_arquivo > $tamanho_maximo)
{echo "Imagem muito Grande"; }

elseif(file_exists("$diretorio/$nome_arquivo"))
{echo "Renomeie sua imagem antes de enviar"; }
else {
    $gerarnome = substr(md5(uniqid(time())), 0, 10);
	$nome_envia="$gerarnome.$nome_arquivo";
move_uploaded_file($temporario_arquivo, $diretorio.$nome_envia);

 	echo "Imagem adicionada $emo";
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro:

 

Cheque se em seu formulário existe este trecho

 

<form name="upload" enctype="multipart/form-data">

 

Segundo:

 

Neste trecho

$nome_envia="$gerarnome.$nome_arquivo";

 

Acredito que faltou você definir a extensão do arquivos a ser gravado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

e a preguica de usar o pesquisar ¬¬

@rohde

 

Com toda a certeza ele já procurou. Veio aqui somente para entender a lógica, agora se você não puder ajudá-lo, seu cadastro não tem serventia de nada neste fórum. Isso é Spam, mensagem enviada por enviar, se não for ajudar, convido você para não postar mais neste tópico.

 

Na boa, não quero brigas. E se for responder com ignorância, me envie por MP, pois aqui não é lugar de discussões, fechado? Grato!

 

E outra, você não é obrigado a responder ninguém aqui, então responda se quiser.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Razão ao Wanderson.

 

Olha, eu fiz uma classe bem simples pra upload de qualquer arquivo. Se quiser usá-la, fica a disposição.

 

<?php

class Upload{
protected
	$file,
       $name,
	$tmp_name,
	$ext,
	$directory_final,
	$path = "uploads/";

public function setPath( $path ){
	$this->path = $path;
}

   public function setName( $name = null ){
       if( $name != null ){
           $this->name = $name . '.' . $this->ext;
           $this->setDirectoryFinal();
       }else{
           $this->name = $this->file['name'];
           $this->setDirectoryFinal();
       }
   }

public function setSettings( $file ){
	$this->file = $file;
	$this->setTmpName();
       $this->setName();
	$this->setExt();
}

protected function setTmpName(){
	$this->tmp_name = $this->file['tmp_name'];
}

protected function setExt(){
	$explode = explode( '.', $this->name );
	$this->ext = end( $explode );
}

protected function setDirectoryFinal(){
	$this->directory_final = $this->path.$this->name;
}

public function typeAllowed( $type ){
	$allowedForImages = array('JPEG', 'jpeg', 'JPG', 'jpg', 'GIF', 'gif', 'PNG', 'png', 'BMP', 'bmp');
	if( $type == 'Images' ){
			if( !in_array( $this->ext, $allowedForImages ) ){
				die( "<script>alert('O arquivo não é uma imagem, por isso o upload foi cancelado.');</script>" );
			}
	}		
}

public function upload( $setFlash = null ){
	$upload = move_uploaded_file($this->tmp_name, $this->directory_final);
       if( $upload ){
           if( $setFlash == null ){
               echo "<script>alert('Upload realizado com sucesso!');</script>";
           }else{
               echo $setFlash;
           }
       }
}

}

?>

 

Para usar:

$up = new Upload();
$up->setSettings( $_FILES['img'] );//Pega as informações do arquivo
$up->setPat( 'ups/' );//Essa função é opcional, a pasta padrão é "uploads/"
$up->setName( 'imagem' );//Também opcional, serve para mudar o nome da imagem
$up->typeAllowed( 'Images' );//Na classe você pode adicionar mais tipos de arquivo, mas isso também é opcional. Caso queira upload somente de imagens, coloque isso. Se for de arquivos em geral, não precisa chamar.
$up->upload( 'Mensagem de sucesso' );//Faz o upload. Caso a mensagem de sucesso esteja em branco, olha na class e verá que possui uma mensagem padrão

Compartilhar este post


Link para o post
Compartilhar em outros sites

poxa gente obrigando pela ajuda mais o poblema não é esse o ajax meu ele está enviando via post só que só não que enviar os type file

 

veja vamos a logica

 

 

 

ajax.js

function idetificarform (idForm)
{  
var elementosFormulario = document.getElementById(idForm).elements;  
var qtdElementos = elementosFormulario.length;  
var queryString = "";  
var elemento;  
this.ConcatenaElemento = function(nome,valor)
{   
	if ( queryString.length > 0 )
	{   
		queryString += "&";  
	}  

	queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor), true;  
};
for (var i=0; i<qtdElementos; i++)
{   
	elemento = elementosFormulario[i];

	if ( !elemento.disabled )
	{
		switch ( elemento.type )
		{   
			case 'text': case 'password': case 'hidden': case 'textarea':   
				this.ConcatenaElemento(elemento.name,elemento.value);  
				break;
			case 'select-one':  
				if ( elemento.selectedIndex >= 0 )
				{  
					this.ConcatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].value);  
				}  
                    break;
			case 'select-multiple':  
				for (var j=0; j<elemento.options.length; j++)
				{  
					if ( elemento.options[j].selected )
					{
						this.ConcatenaElemento(elemento.name,elemento.options[j].value);  
					}
				}  
                    break;  
			case 'checkbox': case 'radio':  
                    if (elemento.checked)
				 {  
                        this.ConcatenaElemento(elemento.name,elemento.value);  
                    }  
                    break;  
            }  
        }  
    }
    return queryString;  
}

function Load(url, div, tipo, campos)
{
   var ajax = null;
if(window.ActiveXObject)
	ajax = new ActiveXObject('Microsoft.XMLHTTP');
else if(window.XMLHttpRequest)
	ajax = new XMLHttpRequest();

if(ajax != null)
{
	var cache = new Date().getTime();
	ajax.open(tipo, url + "&cache=" + cache , true);
	ajax.onreadystatechange = function status()
	{
			if ( ajax.readyState == 4 )
			{
				if ( ajax.status == 200 )
				{
					document.getElementById(div).innerHTML = ajax.responseText;
					var texto=unescape(ajax.responseText);
					extraiScript(texto);
				}
    		  	}
			else if(ajax.readyState == 0)
				document.getElementById(div).innerHTML = '<div style="padding: 5px;" align="center"><img src="images/load.gif" /></div>';
               else if(ajax.readyState == 3)
                   document.getElementById(div).innerHTML = '<div style="padding: 5px;" align="center"><img src="images/load.gif" /></div>';
			else
				document.getElementById(div).innerHTML = '<div style="padding: 5px;" align="center"><img src="images/load.gif" /></div>';
	}

	if ( tipo == "POST" )
	{
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		ajax.setRequestHeader("Pragma", "no-cache");
		ajax.send(campos); 
	}

	else
	{
		ajax.send(null);
	}
}
}

 

form:

<script type="text/javascript" src="jquery.js"></script> 
 <script type="text/javascript" src="ajax.js"></script>


<form  id="enviar" name="enviar" method="post">
   <table class="form">
     <tbody><tr>
       <td>Escolhar a imagem:</td>
       <td><input name="foto" type="file"  /></td>
     </tr>
     </tbody>
   </table>
      <input class="button" value="Enviar" name="enviar" onclick="Load ( 'enviar.php', 'resultado', 'POST', idetificarform ('enviar'));" type="button">

</form>
<div id="resultado"></div>

enviar.php

<?
$diretorio = "images/";
$tamanho_maximo = "31457280";   //30mb
$nome_arquivo = $_FILES['foto']['name'];
$temporario_arquivo = $_FILES['foto']['tmp_name'];
$tipo_arquivo = $_FILES['foto']['type'];
$tamanho_arquivo = $_FILES['foto']['size'];

if(($tipo_arquivo != 'image/jpeg')
AND ($tipo_arquivo != 'image/gif')
AND ($tipo_arquivo != 'image/png'))
{echo "Formato inválido"; }
elseif($tamanho_arquivo > $tamanho_maximo)
{echo "Imagem muito Grande"; }

elseif(file_exists("$diretorio/$nome_arquivo"))
{echo "Renomeie sua imagem antes de enviar"; }
else {
           $gerarnome = substr(md5(uniqid(time())), 0, 10);
               $nome_envia="$gerarnome.$nome_arquivo";
move_uploaded_file($temporario_arquivo, $diretorio.$nome_envia);

 echo "Upload feito com sucesso !";

}

?>

soh que a foto nao enviar se bota qualquer outro dado em post envia... esse é o poblema

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.