Jump to content


Photo

Upload Em Php


  • Faça o login para participar
7 replies to this topic

#1 Bcool

Bcool

    Turista

  • Usuários
  • 34 posts
  • Sexo:Não informado

Posted 22/03/2007, 09:30

oi tenho um upload em php q me está dando mt dor de cabeça.

quando faço o 1º post tudo bem.
quando faço o 2º ele assume o calor de basename($_FILES[$campo]['name'] anterior e usa os dois (o novo e o anterior)

já tentei o refresh mas ele escreve o post anterior.

já tentei passar o valor para uma variavel e dar-lhe o valor de "",... mas nada

pergunta: tenho como limpar este valor da cache?

$campo = "upload_".$row_forms['campo'];

$target = "uploads/"; 

echo "-->"$_FILES[$campo]['name']"<--";

$target = $target . basename($_FILES[$campo]['name']); 




$ok=1; 

// aki é q dá asneira com o target ele assume o ['name'] actal e o ['name'] anterior.
echo "-->".$target."<-7--<br />";
:click:

obrigado.!!!

#2 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 22/03/2007, 15:05

depois que fizer o upload dos arquivos, de um unset($_FILES); aí na proxima vez a variavel estará vazia ;)
--
Samuel Machado
www.samuelmachado.com

#3 Bcool

Bcool

    Turista

  • Usuários
  • 34 posts
  • Sexo:Não informado

Posted 23/03/2007, 09:10

oi! era de facto uma solução.
o problema é q ele destroi $_FILES e a seguir não a constroi para o próximo.
a menos q eu volte a carregar o "link" da página de upload.

Edição feita por: Bcool, 23/03/2007, 12:22.


#4 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 23/03/2007, 11:10

seu script está com algum problema então... por que na verdade nem precisaria de-setar esse campo...

mostre o treicho do seu código onde vc recebe esses valores $_FILES
--
Samuel Machado
www.samuelmachado.com

#5 Bcool

Bcool

    Turista

  • Usuários
  • 34 posts
  • Sexo:Não informado

Posted 23/03/2007, 11:18

ai vai tudo

<?php
$campo ="upload_".$row_forms['campo'];

$target = "uploads/"; 
/* se usar aki o unset($_FILES) não faz upload*/

$target = $target . basename($_FILES[$campo]['name']); 

/* aki ele repete o nome do ficheiro anterior */

$ok=1; 

?>


<input id="<?php echo $campo; ?>" name="<?php echo $campo; ?>" type="file" onchange="load_values<?php print $row_forms['campo'] ?>()"/>
<!-- este script muda o conteudo do input seguinte -->
<script language="JavaScript">
	function load_values<?php print $row_forms['campo'] ?>()
	 {
	 var values<?php print $campo ?> = document.frm.<?php print $campo ?>.value;
	 var all_path<?php print $campo ?> = values<?php print $campo ?>.split("\\");
	 var destino = <?php print "'".$target."'"; ?>;
	 document.frm.<?php print $row_forms['campo'] ?>.value = destino + all_path<?php print $campo ?>[(all_path<?php print $campo ?>.length - 1)];
 	 }
</script>

<input id="<?php echo $row_forms['campo'] ?>" type="text" name="<?php echo $row_forms['campo'] ?>"  />

<?
//This is our size condition 
if ( $_FILES[$campo]['name'] > 2) 
{ 
echo "Erro, o ficheiro é muito grande.<br>"; 
$ok=0; 
} 

//This is our limit file type condition 
if ($uploaded_type =="text/php") 
{ 
echo "No PHP files<br>"; 
$ok=0; 
} 

//Here we check that $ok was not set to 0 by an error 
if ($ok==0) 
{ 
echo "Sorry your file was not uploaded"; 
} 

//If everything is ok we try to upload it 
else 
{ 
if(move_uploaded_file($_FILES[$campo]['tmp_name'], $target)) 
{ 
 echo "<br />The file ". basename( $_FILES[$campo]['name']). " has been uploaded"; 
/* se usar aki o unset($_FILES), ele limpa, mas quando carrega ignora o unset*/
 } 
else 
{ 
 echo "Sorry, there was a problem uploading your file."; 
} 
} 
?>


#6 Bcool

Bcool

    Turista

  • Usuários
  • 34 posts
  • Sexo:Não informado

Posted 27/03/2007, 10:35

:huh:
ninguém?

#7 Bruno Spader

Bruno Spader

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Masculino
  • Localidade:Balneario Camboriu

Posted 27/03/2007, 11:44

assume uma variave temporaria.

$variavel = $_FILES[$campo]['name'] ;
$variavel = $_FILES[$campo]['tmp_name'] ;

#8 Bcool

Bcool

    Turista

  • Usuários
  • 34 posts
  • Sexo:Não informado

Posted 27/03/2007, 13:46

não percebi.
dá o mesmo.
se eu limpar a variavel com unset ($_FILES); fica limpinho e não escreve.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq