Ir para conteúdo

POWERED BY:

Arquivado

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

carolina

script de upload

Recommended Posts

estou quebrando a cabeça a uns 2 dias com um script de upload.alguém poderia postar um script de upload aqui para eu utilizar.Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Va AI...esta pagian se chama index.htm<form action="upload.php" method="post" ENCTYPE="multipart/form-data"> <p align="center"><font size="4" face="Verdana" color="#CCCCCC"><b><font color="#333366">UPLOAD 1.1</font></b></font></p> <table width="401" border="0" align="center" cellspacing="1" cellpadding="1"> <tr bgcolor="#CCCCCC"> <td colspan="3"> </td> </tr> <tr bgcolor="#E1E1E1"> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Diretório</font> </td> <td> <input type="radio" name="select_dir" value="diretorio" checked> </td> <td> <select name="diretorio" size="1"> <option value="documentos">Documentos</option> </select> </td> </tr> <tr bgcolor="#E1E1E1"> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Diretório</font> </td> <td> <input type="radio" name="select_dir" value="diretorio2"> </td> <td> <input type="text" name="diretorio2" size="30"> </td> </tr> <tr bgcolor="#E1E1E1"> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Arquivo</font> </td> <td> </td> <td> <input type="file" size=30 name="file"> </td> </tr> <tr bgcolor="#CCCCCC"> <td colspan="3"></td> </tr> <tr> <td colspan="3"> <div align="center"> <input type="submit" value="Enviar" name="submit"> </div> </td> </tr> </table> <input type="hidden" name="MAX_FILE_SIZE" value="100000"> <br> <br></form> ---------------------------------------------------Esta se chama Upload.php<?phpif ($file == "none") { //### Mensagem de arquivo vazio ### print "<center>"; print " Selecione o arquivo!<br>"; print "<a href=\"index.htm\" >voltar</a>"; print "</center>"; }else { if ($select_dir== "diretorio") { //### Cria Pasta caso o diretório(a partir do deretório atual) não exista ### @ exec("md $diretorio"); $select_dir = $diretorio; } elseif ($select_dir == "diretorio2") { //### Copia o arquivo para o diretório escolhido ### @ exec("md $diretorio2"); $select_dir = $diretorio2; } copy($file, "$select_dir/".$file_name); $ok=1; unlink($file); }?> <html><head><title>Upload</title></head><body bgcolor="#FFFFFF" text="#000000" links="#000000" vlinks="#000000" alinks="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"><table cellspacing="2" cellpadding="2" border="0" width="100%" height="300"> <tr> <td valign="top" width="100%"> <? if ($ok==1) { //### Mensagem de Sucesso ### echo "<p align=\"center\">O Arquivo <b>$file_name</b> foi enviado com sucesso para o diretório <b>$select_dir.</b></p>"; } ?> </td> </tr> </table></body></html>Naum se esqueça de da permisão ma Pasta onde você vai gravar os documentos enviado a permisão e 777 :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse tem coisa demais...acho q ñ coloquei bem o q eu queria.bem... é o seguinte.Preciso de um script de upload que se caso o usuário não selecione nehuma imagem, o script coloque uma imagem padrão, caso o usuário tente colocar um arquivo diferente de jpg ele não aceite e mostre uma mensagem e se colocar um imagem tipo jpg ele cadastra.Preciso muito desse script e ñ estou conseguindo fazer.Agradeço qualquer ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ohhhhhhhhhh tenta esse aqui<?php// local da pasta$pasta = "../fotos"; $img= $pasta."/".$qw_name; if(!move_uploaded_file($qw, $img)) {echo header("Location:volta.php?erro=Erro da imagem ! Anexe uma imagem "); exit; } else {echo "certo"; }?>Pode ser que ajude :P :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou ensinar como enviar um arquivo!! Pq não entendi direito o que você realmente quer!!! Ou o que é que você esta fazendo!!

 

Na TAG FORM precisa estar contido essa propriedade:

 

enctype="multipart/form-data"

 

exemplo:

 

<form name="envia" action="envia.php" enctype="multipart/form-data"><input type="file" name="arquivo"><input type="submit" name="enviar" value="Enviar"></form>

No arquivo que você vai receber os dados do formulário, no exemplo apontei para o "envia.php", vai ter que ter o seguinte:

 

if (isset($_FILES["arquivo"]) and $_FILES["arquivo"]!= "none") {          $caminho="caminho que você quiser apartir da pasta que você esta/" . $_FILES["arquivo"]["name"];          $copia=copy($_FILES["arquivo"],"$caminho");          if($copia){                    echo "Arquivo copiado com sucesso";          }else{                    echo "Erro ao tentar copiar o arquivo";          }}else{          echo "Você deve apontar um arquivo";}

Bom esse é o jeito mais simples de se fazer, agora se você quer melhorar ou colocar mais coisas, ai fica por sua conta!!!

 

Espero ter ajudado!!

 

[]´s!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, calorina, eu fiz um esquema de cadastro no meu site que tem upload de avatar pra mensagens no mural, que funciona do jeito que você tah falando, se você quiser me passa uma PM ou um email

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que estou querendo é o seguinte:Se não for selecionada nenhuma imagem para o anúncio então cadastra uma imagem padrão.Se for selecionada uma imagem que não seja "JPG" então não cadastra e mostra um aviso.Se for selecionada uma imagem "JPG" então cadastra.Só que com meu código quando não seleciona nenhuma imagem ele me mostra o aviso de que a imagem não é "JPG".O resto funciona corretamente.Me ajudem por favor.Estou postando meu código logo abaixo.<?php$id = trim($HTTP_GET_VARS['id']);$titulo = trim($HTTP_POST_VARS['titulo']);$anuncio = trim($HTTP_POST_VARS['anuncio']);$preco = trim($HTTP_POST_VARS['preco']);$data = date("d/m/Y");$horario = date("H:i");$arquivo = $_FILES['file']['name'];$diretorio = '/produtos/';$tipo = $_FILES['file']['type'];$origem = $_FILES['file']['tmp_name'];if (!isset($arquivo) || $tipo == 'image/pjpeg') {//### imagem padrão ###$img = 'http://www.teste.com.br/teste/classificados/produtos/sem_img.jpg';} else {echo 'Arquivo não é jpg.<br><a href=java script:history.go(-1);>voltar</a>';exit;}if (isset($arquivo)){move_uploaded_file($origem, $diretorio .$arquivo);$img = "http://www.teste.com.br/teste/classificados/produtos/$arquivo";}mysql_select_db($database, $conn);$query_Recordset1 = "SELECT * FROM anuncios WHERE titulo = '$titulo'";$Recordset1 = mysql_query($query_Recordset1, $conn) or die(mysql_error());$row_Recordset1 = mysql_fetch_assoc($Recordset1);$totalRows_Recordset1 = mysql_num_rows($Recordset1);if ($row_Recordset1['titulo'] == $titulo) {$titulo = $row_Recordset1['titulo'];echo '<center><font face=verdana size=2 color=black>Este anúncio já está cadastrado.</font></center>';exit;} else {$img = "http://www.teste.com.br/teste/classificados/produtos/$arquivo";}mysql_select_db($database, $conn);$query_Recordset2 = "INSERT INTO anuncios (id_integrante, titulo, anuncio, img, preco, data, horario, ativo)VALUES ('$id', '$titulo', '$anuncio', '$img', '$preco', '$data', '$horario', 'n')";$Recordset2 = mysql_query($query_Recordset2, $conn) or die(mysql_error());header("Location: cadastro_ok.php");exit;mysql_free_result($Recordset1);mysql_free_result($Recordset2);?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

HUmmmmm, agora ficou bem mais claro!!!

 

Primeiro, tem um erro aqui:

 

if (!isset($arquivo) || $tipo == 'image/pjpeg') {//### imagem padrão ###$img = 'http://www.teste.com.br/teste/classificados/produtos/sem_img.jpg';} else {echo 'Arquivo não é jpg.<br><a href=javascript:history.go(-1);>voltar</a>';exit;}

Se o arquivo não esta setado como ele vai saber o tipo???? :blink:

você verificou se o tipo de arquivo jpg é assim???? Não é somente 'image/jpeg', estou em dúvida com relação a isso, mas você pode verificar no fim do nome do arquivo se é .jpg ou .jpeg?

 

Então o código certo seria:

 

if (!isset($_FILES["file"])) {//### imagem padrão ###$img = 'http://www.teste.com.br/teste/classificados/produtos/sem_img.jpg';}

agora para verificar se é jpg é o seguinte (segui a base do que você fez leve em consideração aquilo que eu te falei sobre jpg):

 

if (isset($_FILES["file"]) and $_FILES['file']['type']=='image/pjpeg'){move_uploaded_file($origem, $diretorio .$arquivo);$img = "http://www.teste.com.br/teste/classificados/produtos/$arquivo";}

Alguma dúvida???

Espero ter ajudado!!

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

infelizmente ñ funcionou.fiz como você postou e está acontecendo o seguinte:Está cadastrando se for GIF, JPG e se não for selecionada nenhuma imagem ele cadastra só até o diretório .... ao invés de cadastrar a imagem padrão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

infelizmente ñ funcionou.

 

fiz como você postou e está acontecendo o seguinte:

 

Está cadastrando se for GIF, JPG e se não for selecionada nenhuma imagem ele cadastra só até o diretório .... ao invés de cadastrar a imagem padrão.

Nessas horas o que eu faço seria debugar!!!

 

Comece imprimindo variaveis na tela pra ver o que ele joga:

 

Imprima:

$img

$_FILES["file"]["type"]

 

E por ae vai!!! Ve se bate com as informações dos IFs!!!

Imprime o SQL pra ver o que ele ta escrevendo!!! Pq do jeito que eu te expliquei teria que dar certo!!! Joga uns echo nos IFs pra ver se ele passa. É dificil de saber exatamente o que esta acontecendo vendo de fora!!!

 

Mas tae essa dica!!!

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

carolina, você coloca uma condição:se o campo do upload naum tiver vazio, ele vai pra rotina de upload, se naum, ele simplesmente cadastra os outros dados (se for o caso de cadastro)na parte que você quer que apareçam as imagens (no meu caso, os avatares do meu mural), você deixa uma imagem jah no servidor e manda ele olhar no campo da imagem...if(empty($img){ $imagem = "indisponivel.jpg";}else{ $imagem = $img;}echo $imagem;comigo funcionou. tenho um cadastro que tem um campo avatar. Eu posso naum querer um avatar entaum eu simplesmente mando ou naum a imagem. Se eu mandar, ele cadastra no banco o nome da imagem e envia a imagem, se eu naum mandar, ele simplesmente faz o cadastro dos demais campos. No meu mural eh que eu faço a verificação descrita acima.qq coisa, tamos ae msn: esmeriu@hotmail.com[]'sPaulo Silva

Compartilhar este post


Link para o post
Compartilhar em outros sites

manda ele verificar o MIME-type do arquivo que tah vindo, tipo... jpg eh image/jpg$type=$_FILES["avatar"]["type"];if($type !== "image/pjpeg" or $type !== "image/gif" or $type !== "image/jpg" or $type !== "image/jpeg"){ $erros[]="O arquivo $name, não é jpg, jpeg ou gif";}eh assim que eu faço e rola ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrigindo um erro de validação que te passei com base no que o Paulo flw e eu lembrei!!!

 

if (isset($_FILES["file"]) and $_FILES["file"]["name"]=="") {//### imagem padrão ###$img = 'http://www.teste.com.br/teste/classificados/produtos/sem_img.jpg';}

Sorry :P

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.